[unity] 動画の音ミュート、音量変更

動画の音声ですが、「あれば再生、なければトラックを作らず無音」と自動判別してくれるので便利です。
音声があるムービーの場合、画像のように再生トラックや音量が表示されます。

この値、インスペクターからは簡単に変更できるのですが、スクリプトから呼び出す方法がサクッと見つからなかったので、一応記事として残しておきます。

var player = GetComponent<VideoPlayer>();

if (player.audioTrackCount > 0)
{
    // 音量を変更
    player.SetDirectAudioVolume(0, 0.5f);
    // 音をミュート
    player.SetDirectAudioMute(0, false);
}

playerは自分が再生している VideoPlayer を取得してください。

player.audioTrackCountは音のないムービーの場合 0、音がある場合 1 になります。
無音で、player.SetDirectAudioVolume(0, 0.5f);と呼び出してもエラーにはならないようですが、ちょっと不安なのでif (player.audioTrackCount > 0)を入れました。

その他、VideoPlayer に関する詳細は公式マニュアルを参照してください。

unity は公式マニュアルが充実しているのがいい!

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA