如何通过代码使 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 静音?的主要内容,如果未能解决你的问题,请参考以下文章

单击按钮时如何发出随机声音?

如何使来自 UIWebView 的音频静音

MediaPlayer 或 SoundPool 用于多个短声音?

如何使每个场景的声音/音乐静音? [复制]

如何使音池静音?

使用 swift 2 以编程方式使 iOS 设备静音/振动?