android - 同时播放两种声音

标签 android audio media-player soundpool android-audiomanager

我正在尝试在 android 中同时播放两种声音。我创建了两个 MediaPlayer 并正在使用下面的代码。它们目前正在一个接一个地播放。或者不完全是一个接一个地播放,但有点延迟。

private void playSound(){
       if (mp1 != null) {
           mp1.release(); 
        }
       if (mp2 != null) {
            mp2.release(); 
         }


        mp1 = MediaPlayer.create(this, soundArray[0]); 
        mp2 = MediaPlayer.create(this, soundArray[3]);
        mp1.start();
        mp2.start();

      }

谢谢

最佳答案

同时播放两个数字声音就像将它们相加一样简单(就像在现实世界中一样),因此您可以在填充缓冲区的同时自己做(并控制时间)。

这可能会导致振幅升高,因此如果您不想导致裁剪伪影,请注意不要超过数组类型的数值范围。

This question and answer也可能有帮助

关于android - 同时播放两种声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4350212/

相关文章:

Android 3D按钮文字位置

Android Analytics 正确的接收器定义

android - 我们如何覆盖 EditText 中的 getText 方法?

html - Flowplayer中的HTML5音频

iOS:是否可以同时从耳机和扬声器发送音频?

ios - 如何使用 Obj-C 在 iOS 中播放 mp3

java - 无法使用 JavaFX MediaPlayer 播放视频

android - 缺少 annotations.jar

c# - 如何使用 ffmpeg 将常规 WAV 文件转换为 4 位 WAV 文件?

android - MediaPlayer 在单独的线程中使用 Service 或 IntentService