Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中同步声音播放?_Android_Android Mediaplayer - Fatal编程技术网

如何在android中同步声音播放?

如何在android中同步声音播放?,android,android-mediaplayer,Android,Android Mediaplayer,我正在编写我的第一个android应用程序,试图同步播放两个10分钟的声音文件(想象一首器乐曲目和一首acapella),以便能够独立地改变每首曲目的音量)。我使用了两个MediaPlayer,因为据我所知,SoundPool的目标是较短的音频样本 现在我的问题是,当暂停和恢复播放时,有时播放器不再同步,即使我在恢复播放之前将它们的位置设置为相同的值 我知道这是不可避免的,因为它们不能在完全相同的时刻启动,它们可能需要不同的时间来开始播放,但是:是否有其他方法可以满足我的要求?您可以看看,这可能

我正在编写我的第一个android应用程序,试图同步播放两个10分钟的声音文件(想象一首器乐曲目和一首acapella),以便能够独立地改变每首曲目的音量)。我使用了两个MediaPlayer,因为据我所知,SoundPool的目标是较短的音频样本

现在我的问题是,当暂停和恢复播放时,有时播放器不再同步,即使我在恢复播放之前将它们的位置设置为相同的值

我知道这是不可避免的,因为它们不能在完全相同的时刻启动,它们可能需要不同的时间来开始播放,但是:是否有其他方法可以满足我的要求?

您可以看看,这可能会实现您想要的同步

要使用它,您可以将音频通道(乐器通道和人声通道)创建为曲目中的MIDI文件,播放器可以使它们保持同步,同时允许您根据需要静音或取消静音不同的通道


可以找到创建JET资源的用户指南。

您是在模拟器上还是在实际设备上进行测试?我目前正在模拟器上进行测试。也许您可以编写一个线程来监控两个播放器的同步状态,并对其中一个播放器的位置进行更正谢谢,这听起来很有希望。