【Unity】スクリプトでオーディオミキサーグループを取得する

投稿者: | 2021-04-21

スクリプトでオーディオミキサーグループを取得するにはAudioMixer.FindMatchingGroupsメソッドを使います。

引数にはマスターグループから目的のグループまでのパスを渡します。例えば、上の画像のグループ3の場合「Master/Group1/Group3」です。

部分一致なので「Group」という文字列を渡すとGroup1~3の3つのグループが取得できます。

using UnityEngine;
using UnityEngine.Audio;

public class MixerGroupTest : MonoBehaviour
{
    [SerializeField] AudioMixer mixer;
    
    // Start is called before the first frame update
    void Start()
    {
        string groups = "";
        foreach (var g in mixer.FindMatchingGroups("Group"))
        {
            groups += g.name + "\n";
        }

        Debug.Log(groups);
    }

}

「Group1」を渡すと、グループ2のパスにはこの文字列が含まれていないので、グループ1と3の2つが取得できます。

mixer.FindMatchingGroups("Group1")

また、「Group1/」とスラッシュを付けて渡すと、グループ3だけが取得できます。

mixer.FindMatchingGroups("Group1/")

グループ1のパス「Master/Group1」には末尾にスラッシュがありません。

コメントを残す

メールアドレスが公開されることはありません。