Android Media Player-在状态1中开始调用

Joh*_*n D 2 android android-mediaplayer

player.reset();
player.setDataSource(url);
// mPlayer.setDataSource(mFileName);
player.prepareAsync();
player.setOnPreparedListener(
     new OnPreparedListener() {
         @Override
         public void onPrepared(MediaPlayer mp) {
             player.start();
         }
     }
);
Run Code Online (Sandbox Code Playgroud)

这是我的媒体播放器的位代码。我正在做应该正确执行的操作,以便正确设置媒体播放器的状态,但仍然出现错误start called in state 1,任何人都可以帮忙吗?非常感谢!

Bri*_*ley 5

我认为这里的问题是您需要在调用之前设置侦听器,player.prepareAsync();因为在设置侦听器之前,总有可能(特别是如果URL指向磁盘)prepareAsync调用可能返回。


Jos*_*osh 5

更改player.start();mp.start();