我目前正在尝试在SoundPool API的Android应用程序中播放声音。播放声音不是问题。现在我想停止声音并在开始后重新启动它。但是,当我调用停止功能然后播放()时,声音不会播放。下面是一些代码:Android SoundPool:再次播放停止的声音
负荷的声音:
soundId = soundPool.load(context, fileId, 1);
播放声音:
streamId = soundPool.play(soundId, 1.0f, 1.0f, 1, -1, 1);
停止发声:
soundPool.stop(streamId);
我也试图重新加载声音在第二次播放之前,但没有解决。
当我使用暂停/恢复时,声音从停止的位置播放(但我总是从头开始播放)。
任何帮助,将不胜感激
编辑:
我只是想出了一些奇怪的事情。当我使用soundpool.stop()时,它每隔两次调用一次soundpool.play()。所以play()的第一个电话会播放声音,第二个不会,第3个,第5个,第7个电话会播放声音。 当我使用soundpool.pause()然后播放()时,它每三次都会起作用。因此,第1,第4,第7 ... ...号召()开始发声。
这是一个错误?还是我用它错了?