E / MediaPlayer:使用MediaPlayer时,在状态64,mPlayer(0xaf149260)中调用

问题描述 投票:2回答:1

我一直试图使用播放和停止按钮来播放和停止mp3文件,但它不断发出此错误:

E / MediaPlayer:在状态64,mPlayer(0xaf149260)中调用 E / MediaPlayer:错误(-38,0) E / MediaPlayer:错误(-38,0)

这是我到目前为止的代码:

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        final MediaPlayer mainSongMP = MediaPlayer.create(this, R.raw.main_copy);

        Button playButton = (Button) this.findViewById(R.id.playButton);
        Button stopButton = (Button) this.findViewById(R.id.stopButton);

        playButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v){
                mainSongMP.start();
            }
        });

        stopButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mainSongMP.stop();
            }
        });

    }
}
android android-mediaplayer media-player playback
1个回答
4
投票

您应该参考MediaPlayer状态图:

MediaPlayer state diagram

调用stop后,您无法再次直接进入Started状态。您需要再次准备MediaPlayer,或者将其释放并重新开始。

© www.soinside.com 2019 - 2024. All rights reserved.