【问题标题】:Android: Playing two sounds one after the otherAndroid:一个接一个地播放两种声音
【发布时间】:2013-02-19 16:28:41
【问题描述】:

我正在尝试播放两个声音项目,一个接一个

MediaPlayer mp        = null;

 protected void produceErrorSound(int index) {
        if (mp != null) {
            mp.reset();
            mp.release();
        }


        mp = MediaPlayer.create(this, index);

        mp.start();
    }


public void correctAnswerAndNext(){
    produceErrorSound(R.raw.right1) ;
    produceErrorSound(R.raw.right1) ;
}

但只产生第二个声音。 有什么替代方法吗?

【问题讨论】:

    标签: android media-player android-mediaplayer


    【解决方案1】:

    我在您的代码中看不到任何等待机制。

    当您的第一个 MediaPlayer 完成播放时,您可以使用 onCompletionListener 接收回调。此时您可以启动第二个 MediaPlayer。

    Jellybean(和更高版本)中的另一种方法是使用音频链接功能(即setNextMediaPlayer)在当前播放器完成播放后立即自动启动另一个 MediaPlayer。像这样(为了简洁起见,我省略了对 setDataSource 等的调用):

    mediaPlayer1.prepare();
    mediaPlayer2.prepare();   
    mediaPlayer1.start();
    mediaPlayer1.setNextMediaPlayer(mediaPlayer2);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多