2009-08-05 10 views

答えて

2

あなたはおそらく、再アプリ内でのオーディオコンポーネントの制御を集中化するアプリケーションを実装する必要が

SoundMixer.soundTransform = new SoundTransform(0, 0); 
+0

これは、自動生成のみストリーミングとemended音のために有用ではないのですが、それは私の場合です。 –

1

私は、ActionScriptをそのまま使用する方法はないと確信しています。アプリケーション内のすべてのサウンド(Sound、SoundChannel、SoundTransformなど、およびビデオストリーム)を追跡し、ミュートするロジックを持つマネージャクラスが必要です。

ユーザーにfirefoxを強制的に使用させることができる場合は、swfファイルをミュートするためのプラグインがあります。ミュートフラッシュ - https://addons.mozilla.org/en-US/firefox/addon/5453

1

を試してみました。この問題に有用なInversion of Controlと呼ばれる設計パターンがあります。 Flexで具体的に

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

、あなたはケアンゴームとモデルロケータパターンを検索する必要があります。

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

関連する問題