代码之家  ›  专栏  ›  技术社区  ›  Brandon

如何使整个Flex应用程序静音?

  •  3
  • Brandon  · 技术社区  · 16 年前

    我正在我的flex应用程序中播放几个视频流。此外,还有应用程序用户界面的声音。是否有可能使整个应用程序静音,或者我应该使每个潜在的声源静音?

    3 回复  |  直到 16 年前
        1
  •  2
  •   sharvey    16 年前

    你试过了吗?

    SoundMixer.soundTransform = new SoundTransform(0, 0);
    
        2
  •  1
  •   Christophe Herreman    16 年前

    我很确定,如果不使用ActionScript,就没有办法做到这一点。您需要有一个管理器类来跟踪应用程序中的所有声音(声音、声音通道、声音转换等以及视频流),并具有静音逻辑。

    如果你能强迫你的用户使用火狐,有一个插件可以使SWF文件静音。静音闪光 https://addons.mozilla.org/en-US/firefox/addon/5453

        3
  •  1
  •   Gordon Potter    16 年前

    你可能需要重新实现你的应用程序来集中控制你的应用程序中的音频组件。有一种设计模式,称为控制反转,可能对这个问题有用。

    http://en.wikipedia.org/wiki/Inversion_of_control

    特别是使用flex,您应该使用cairngorm查找模型定位器模式。

    http://www.adobe.com/devnet/flex/articles/cairngorm_pt2_06.html

    您可以使用它将应用程序的所有音频级别存储在一个位置。您可以添加一个名为muteall()的方法,该方法将进入并将所有级别设置为0。在应用程序中创建新的音频组件时,请确保在模型定位器中添加对其音量级别的引用。将音频的音量级别绑定到模型定位器中设置的值。然后在应用程序的其他地方,您可以更改模型定位器中的值,通过绑定音频组件,您构建的音频组件将得到更新。

    这也可能有帮助。

    http://livedocs.adobe.com/flex/3/html/help.html?content=Working_with_Sound_23.html#160274

    推荐文章