android – 如何在SoundPool中停止所有声音?

我正在使用SoundPool在 Android上的游戏中播放sfx声音.在大多数情况下,它完美地工作,除了有时我需要立即停止所有声音而不是暂停(如果设置为循环与否则无关紧要).
我不明白如何在不知道该声音的StreamID的情况下停止播放声音.我知道的:

> soundpool.load(… some sound …)返回一个soundID
> soundpool.play(soundID)播放声音并返回streamID
> soundpool.stop(streamID)停止声音

我的问题是,如何在不知道streamID的情况下停止声音?我尝试跟踪列表中的所有streamID,但有时会有很多短流同时播放,它无法正常工作.我在SoundPoolto中找不到任何方法获取活动的streamID.有谁知道如何停止所有声音?
任何提示都表示赞赏!谢谢

解决方法

.release()怎么样?根据文件

Release the SoundPool resources. Release all memory and native resources used by the SoundPool object. The SoundPool can no longer be used and the reference should be set to null.

我认为这也会阻止一切. (实际上它导致我的一个应用程序出现错误,这就是我说的原因)

但是,我相信如果您想稍后播放任何声音,您可能需要再次加载它们.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...