2014-06-23 79 views
2
player.reset(); 
player.setDataSource(url); 
// mPlayer.setDataSource(mFileName); 
player.prepareAsync(); 
player.setOnPreparedListener(
    new OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mp) { 
      player.start(); 
     } 
    } 
); 

這是我的mediaplayer位代碼。我正在做的確切的事情,我應該做的,以便正確的媒體播放器的狀態,但我仍然有錯誤start called in state 1任何人都可以幫忙嗎?非常感謝!Android媒體播放器 - 開始呼叫狀態1

+0

是可以分享您的堆棧跟蹤? – hoomi

+0

「OnPreparedListener」是你調用'start()'唯一的地方嗎? – Squonk

回答

3

我認爲這裏的問題是,在調用player.prepareAsync();之前,您需要設置偵聽器,因爲在設置偵聽器之前,總有可能(尤其是如果url指向磁盤)prepareAsync調用可能會返回。

1

變化player.start();mp.start();

+0

這絕對是一個好點。 –