【发布时间】:2015-12-07 23:22:19
【问题描述】:
我目前正在尝试使用 SoundPool API 在我的 Android 应用中播放声音。播放声音不是问题。现在我想停止声音并稍后从头开始。但是当我调用停止函数然后播放()时,声音不会播放。这是一些代码:
加载声音:
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() 然后 play() 时,它每三次工作一次。所以第 1 次、第 4 次、第 7 次... play() 调用开始播放声音。
这是一个错误吗?还是我用错了?
【问题讨论】: