簡體   English   中英

錯誤:媒體播放器開始在狀態0下被調用錯誤(-38,0)

[英]Error: mediaplayer start called in state 0 error(-38,0)

我是android的新手,我已經編寫了將Mediaplayer鏈接以播放歌曲的代碼

我創建了文件夾path =“ // localhost / Android / sd / vande.mp3文件

public class MainActivity extends Activity {
Button start,pause,stop;
boolean flag;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    start=(Button)findViewById(R.id.button1);
    pause=(Button)findViewById(R.id.button2);
    stop=(Button)findViewById(R.id.button3);

    final MediaPlayer mp=new MediaPlayer();
    try{
    mp.setDataSource(Environment.getExternalStorageDirectory().getPath()+"/Android/music/vande.mp3");

    mp.prepare();

    }catch(Exception e){e.printStackTrace();}

    mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() 
    { 
        public void onPrepared(MediaPlayer player) 
        {  
            //mp.start();
            flag = true; 
        } 

    });
    if(flag ==true)
    {
        start.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mp.start();
            }
        });
    }
    else
    {
        stop.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mp.stop();
            }
        });
    }

    pause.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            mp.pause();
        }
    });
}}

但是當我檢查logcat時文件沒有播放,彈出了一個錯誤“開始在狀態0錯誤中被調用(-38,0)

任何人都可以幫助解決此代碼

提前致謝

您需要等到媒體播放器准備好后才能調用start

mp.setOnPreparedListener(
new MediaPlayer.OnPreparedListener() {
 public void onPrepared(MediaPlayer player) 
 { 
    mp.start();  
 }
 });

如果要在按鈕上啟動播放器,請單擊。 您可以有一個標志。 boolean flag=false;

然后

 public void onPrepared(MediaPlayer player) 
 { 
   flag= true; 
 }

然后在onClick

if(flag ==true)
{
  mp.start();
}else
{
     // media player not prepared
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM