如何通过代码使 SoundPool 静音?
Posted
技术标签:
【中文标题】如何通过代码使 SoundPool 静音?【英文标题】:How to mute SoundPool by code? 【发布时间】:2012-04-11 07:41:22 【问题描述】:我正在尝试在网上搜索以使我在程序中声明的 Soundpool 静音.. 有任何 android 代码吗?例如,我使用 If-else 语句来确定情况,是否应将声音池静音...我该怎么做?
【问题讨论】:
您真的需要将 Soundpool 静音吗?您可以在此处阅读有关播放方法的信息。这里介绍音量参数。 [链接](developer.android.com/reference/android/media/…, float, float, int, int, float)) 或者您可以暂停或停止您的 SoundPool? 【参考方案1】:当onPause()
和onResume()
被调用时,我在活动中做了类似的事情。
要暂停所有当前播放的流然后继续播放,您可以分别调用autoPause()
和autoRestore()
。
【讨论】:
autoRestore() 不存在。我相信是 autoResume() ?【参考方案2】:根据 documentation ,您可以在 SoundPool 对象中使用 setVolume 方法使特定的流 ID 静音,如下所示:
if (someBoolean)//insert your check here
soundpool.setVolume(streamID, 0f, 0f); //0f sets volume to zero
(soundpool是一个SoundPool对象,streamID是.play方法的返回值)
【讨论】:
【参考方案3】:静音意味着听不到声音,但它仍在播放。您可以尝试将声音流静音吗?
【讨论】:
以上是关于如何通过代码使 SoundPool 静音?的主要内容,如果未能解决你的问题,请参考以下文章