标签: media-player

在准备好之前,请禁止使用按钮

所以我看到其他一些类似的帖子,但并没有完全回答我正在寻找的东西.

基本上onCreate正在加载内容(文本视图和图像),它还会打开另一个线程来准备媒体播放器,以便在按下按钮时播放特定的歌曲.如果打开此活动并快速按下该按钮则不会播放任何内容(我假设因为它没有机会准备).如果我打开活动并给它一些时间它就可以了.我确实意识到运行在onCreate中加载的内容并不是最好的,但是我试图让它在其他线程中加载并且它失败了.对我来说一切都很好,我真正想要的是这个.

我需要一些方法来防止使用按钮或让他们知道它加载约3-5秒.因此,要么使按钮淡出并且不能使用3-5秒,然后它变为活动状态或加载屏幕,这是一个透明的覆盖活动约3-5秒.如果你提到使用其他线程,你可以演示它,如果它没有要求太多或给我一些教程(除了谷歌笔记).我还不太了解线程(对他们来说很新)而AsyncThread对我来说非常困惑.

如果您需要代码,请告诉我您想要发布的内容.谢谢,我感谢任何帮助.

multithreading android media-player

0
推荐指数
1
解决办法
85
查看次数

安卓媒体播放器

我在android中做一些简单的小程序供我练习。当我正在创建一个简单的播放器应用程序时,我不得不面对一个我无法解决的错误。以下是我的代码。

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class AndrmusiActivity extends Activity {
    /** Called when the activity is first created. */
    public MediaPlayer playr;
    public Button b1;
    public Button b2;
    public Button b3;
    @Override
    public void onCreate(Bundle State) {
        super.onCreate(State);
        setContentView(R.layout.main);
        b1= (Button)findViewById(R.id.play);
        b1.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {                   
            playr = MediaPlayer.create(this,R.raw.showme);
            playr.start();

            }
        });
        b2= (Button)findViewById(R.id.Pause);           
        b2.setOnClickListener(new OnClickListener() {           
            public void onClick(View v1) {                  
                playr.pause();              
            }
        });
        b3=(Button)findViewById(R.id.Stop);            
        b3.setOnClickListener(new OnClickListener() …
Run Code Online (Sandbox Code Playgroud)

android media-player

0
推荐指数
1
解决办法
1万
查看次数

使用 javafx 和场景生成器创建音乐播放器

我正在尝试创建我自己的 iTunes 版本。我正在尝试创建一个音乐播放器,这是我的方法:

public void audioPlayerButtons(ActionEvent actionEvent) {
    if (actionEvent.getSource() == playbtn) {

        String bip = "/Users/april121/Work/MyMusic!/src/sample/Songs/01 Clarity.m4a";
        Media hit = new Media(bip);
        MediaPlayer mediaPlayer = new MediaPlayer(hit);
        MediaPlayer.play();

    }

   else (actionEvent.getSource()== pausebtn){
           MediaPlayer.pause();
   }

   else (actionEvent.getSource()==forwardbtn){
       MediaPlayer.seek(MediaPlayer.getStartTime());
       MediaPlayer.stop();
   }

   else (actionEvent.getSource()==backwardbtn){
//to be finished
    }
Run Code Online (Sandbox Code Playgroud)

但我现在已经尝试了几个小时 - 无论是通过从 Maven 导入库还是硬编码,它都不起作用。

我希望它显示正在播放的内容并具有基本功能,即。播放、暂停、快退和快进,并有进度条。

这是它显示的错误:

non-static method can't be accessed in static context. And the part that is causing the error is the ".stop()" or ".play()" bits
Run Code Online (Sandbox Code Playgroud)

但我不明白为什么 - 因为我的方法无论如何都是非静态的

java media media-player fxml

0
推荐指数
1
解决办法
2570
查看次数

尝试在空对象引用上调用虚拟方法“.isPlaying()”

我尝试创建一个在同一个按钮上启动和停止的 MediaPlayer,如下所示:

public void song1(View view){    
    if(mp.isPlaying() == true){
        mp.pause();
    }else{
        mp = MediaPlayer.create(this, R.raw.song1);
        mp.start();
    }
}
Run Code Online (Sandbox Code Playgroud)

但我的应用程序崩溃,如果我尝试按一下按钮,所以我souroundet它tryCatch这样的:

public void song1(View view){
        try{   
        if(mp.isPlaying() == true){
            mp.pause();
        }else{
            mp = MediaPlayer.create(this, R.raw.song1);
            mp.start();
        }
    }catch (Exception e){
            e.printStackTrace();
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是 Logcat:

 W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.media.MediaPlayer.isPlaying()' on a null object reference
 W/System.err:     at com.example.exampleapp.MainActivity.sound1(MainActivity.java:129)
 W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
 W/System.err:     at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284)
 W/System.err:     at android.view.View.performClick(View.java:5264)
 W/System.err:     at android.view.View$PerformClick.run(View.java:21297)
 W/System.err:     at android.os.Handler.handleCallback(Handler.java:743) …
Run Code Online (Sandbox Code Playgroud)

android button media-player logcat

0
推荐指数
1
解决办法
4012
查看次数

如何将MP3设置为铃声

我正在编写一个应用程序,其中我正在显示来自Raw文件夹的MP3歌曲列表,并允许用户使用点击按钮播放歌曲,同样我希望允许用户将歌曲设置为铃声,一个用户点击了在列表按钮中,请参见下面的屏幕截图:

MP3歌曲列表:

在此输入图像描述

在PlayActivity.java中显示所选歌曲:

在此输入图像描述

PlayActivity:

                // Set as Ringtone
        btn5.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {                               
         Uri path = Uri.parse("android.resource://com.applenty/raw/");
         RingtoneManager.setActualDefaultRingtoneUri(
         getApplicationContext(), RingtoneManager.TYPE_RINGTONE, path);
         Log .i("Ringtone", "Ringtone Set to Resource:: "+ path.toString());
         RingtoneManager.getRingtone(getApplicationContext(), path).play();

            }
        });
Run Code Online (Sandbox Code Playgroud)

logcat的:

07-10 12:06:05.569: D/dalvikvm(958): GC_FOR_ALLOC freed 37K, 7% free 2486K/2648K, paused 130ms, total 147ms
07-10 12:06:05.630: I/dalvikvm-heap(958): Grow heap (frag case) to 3.153MB for 635812-byte allocation
07-10 12:06:05.719: D/dalvikvm(958): GC_FOR_ALLOC freed 1K, 6% free 3105K/3272K, paused 90ms, total 90ms
07-10 12:06:05.869: D/dalvikvm(958): GC_CONCURRENT freed …
Run Code Online (Sandbox Code Playgroud)

android media-player

-1
推荐指数
1
解决办法
2919
查看次数

如何在JTextField中显示视频文件的当前播放时间?

我计算视频当前播放时间的时间:

public show_time_of_vedio_file(MediaPanel mediaPanel,JFrame_of_subtitle frame)
{

   //      for(;;)
            {
            double second=mediaPanel.mediaPlayer.getMediaTime().getSeconds();

            int second1=(int) second;
            int hour=second1/3600;
            second1=second1-hour*3600;
            int minute=second1/60;
            second1=second1-minute*60;
            double milisecond=(second-(int)second)*1000;
            int milisecond_1=(int) milisecond;
            String milisecond_string=String.valueOf(milisecond_1);
            String hour_string=String.valueOf(hour);
            String minute_string=String.valueOf(minute);
            String second_string=String.valueOf(second1);
            if(hour_string.length()==1)
                hour_string="0".concat(hour_string);
            if(minute_string.length()==1)
                minute_string="0".concat(minute_string);
            if(second_string.length()==1)
                second_string="0".concat(second_string);
            if(milisecond_string.length()==2)
                milisecond_string="0".concat(milisecond_string);
            else if(milisecond_string.length()==1)
                milisecond_string="0".concat("0".concat(milisecond_string));


            frame.show_time_jTextField.setText(String.format("%s:%s:%s,%s", hour_string,minute_string,second_string,milisecond_string));
        }
}
Run Code Online (Sandbox Code Playgroud)

现在我想在JTextField播放视频的所有时间以及视频不播放时显示此时间我要显示00:00:00,000.

谁能告诉我怎么能这样做?

java swing jtextfield media-player

-2
推荐指数
1
解决办法
395
查看次数

如何从SD卡播放视频文件

我想在android模拟器上播放我存储在SD卡中的视频文件.这是我的代码..

public class AndroidVideoViewActivity extends Activity {

    private VideoView videoView=null;
    private String PATH="mnt/sdcard/bmxskills.3gp";
    private MediaPlayer mediaPlayer=null;
    private MediaController mediaController=null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        VideoView videoView=(VideoView)findViewById(R.id.videoView);
        videoView.setVideoPath("mnt/sdcard/bmxskills.3gp");

        videoView.setMediaController(mediaController);
        videoView.requestFocus();
        videoView.start();

    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我在模拟器上运行它显示空白屏幕.请帮助.我已经添加了所需的权限,即互联网和外部存储.

android media-player android-videoview

-2
推荐指数
1
解决办法
1万
查看次数

Delphi7,使用Tmediaplayer重复声音

我正在使用delphi7.我想在我的程序中放一首歌,但我不希望它永远不会结束.我尝试使用计时器,但它没有播放音乐:

procedure TForm1.FormCreate(Sender: TObject);
begin
timer1.enabled:=true;
end;


procedure TForm1.Timer1Timer(Sender: TObject);
var playsound,destination:string;
begin

destination:=paramstr(0); 
playsound:=extractfilepath(destination)+'Soundtrack\play.wma';

mediaplayer1.FileName:=playsound;                
mediaplayer1.Open;
mediaplayer1.Play;                        //USING TMEDIAPLAYER

end;
Run Code Online (Sandbox Code Playgroud)

此代码中没有语法错误,但是歌曲没有运行,也许计时器不适用于该作业.我该怎么办?谢谢

delphi audio repeat media-player

-2
推荐指数
1
解决办法
2448
查看次数