【问题标题】:How to mute SoundPool by code?如何通过代码使 SoundPool 静音?
【发布时间】:2012-04-11 07:41:22
【问题描述】:

我正在尝试在网上搜索以使我在程序中声明的 Soundpool 静音.. 有任何 android 代码吗?例如,我使用 If-else 语句来确定情况,是否应将声音池静音...我该怎么做?

【问题讨论】:

  • 您真的需要将 Soundpool 静音吗?您可以在此处阅读有关播放方法的信息。这里介绍音量参数。 [链接](developer.android.com/reference/android/media/…, float, float, int, int, float)) 或者您可以暂停或停止您的 SoundPool?

标签: android soundpool mute


【解决方案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】:

    静音意味着听不到声音,但它仍在播放。您可以尝试将声音流静音吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      • 2012-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多