FLVPlaybackコンポーネントに紐付けたMuteButtonコンポーネントを配置した際に
FLVPlaybackのコンポーネントインスペクタの設定項目や、
FLVPlaybackクラス(VideoPlayerクラス)のプロパティやメソッドに
ミュートに関するものがないため、ユーザーが許可するまで音は出したくないときとか不便ですよね。


volumeっていうパラメータ(プロパティ)はあるんですが、
ミュートの状態とボリュームが0っていうのは内部的には違う状態のようで、
MuteButtonコンポーネントを配置して、コンポーネントインスペクタのパラメータのvolumeを0にすると、
(音量0⇔ミュート)の切り替えとなり、何度押しても音が出ない状態になってしまいます。



いろいろ実験した結果、非常にアナログなんですが、
再生開始前にスクリプトからミュートボタンをおしてやることでうまくいきました。

as3
  flvplayer.muteButton = muteBtn;
  muteBtn.on_mc.dispatchEvent(new MouseEvent(MouseEvent.CLICK));

as2

  flvplayer.muteButton = muteBtn;
  muteBtn.on_mc.onRelease();

(FLVPlaybackコンポーネントにflvplayer、MuteButtonコンポーネントにmuteBtnという
インスタンス名をつけてステージに配置しています。)



音量0と音量1(as2なら100)とかのトグルを実装した自作ミュートボタンを作るのも一つの手ですが、
muteButtonコンポーネントを利用してサクっと作りたい場合は上の方法でいけます。

実は僕が知らないプロパティやメソッドがあったりするのかも。
YoutubeAPIにあるplayer.mute()は試してみましたがだめでした。。。
何か知ってる方いたら教えてください。
 

HTML5飯