MuteButtonをデフォルトミュートで使う
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()は試してみましたがだめでした。。。
何か知ってる方いたら教えてください。