トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

入力できるマイクデバイスをドロップダウンで表示して選べるようにする【Unity】

PCなどで入力できるマイク一覧を取得して、ドロップダウンで表示して、選ばれたマイクを使うようにする

ドロップダウン

uGUIにあるよ

f:id:bibinbaleo:20191116223910p:plain

デフォルトで3つ選択肢が入っているので消す

f:id:bibinbaleo:20191116224004p:plain

一覧をスクリプトから生成する

narudesign.com

dropdown.options.Add(new Dropdown.OptionData { text = "Item #1" });

だって

選ばれたものの情報を取得

xr-hub.com

選ばれるとValueの値が上から0,1,2・・・で変化するのでそれをもとにどうにかする

f:id:bibinbaleo:20191116224632p:plain

選ばれたテキストが欲しいなら力技でラベルのテキスト取得でもいいかも

f:id:bibinbaleo:20191116224739p:plain

Microphone.devicesでマイクデバイス取得
docs.unity3d.com

foreach (string device in Microphone.devices)
{
Debug.Log("Name: " + device);
_Dropdown.options.Add(new Dropdown.OptionData { text = device });
_Dropdown.RefreshShownValue();
}

kato-robotics.hatenablog.com

これでdropdownに追加される

f:id:bibinbaleo:20191031131959p:plain

選んだデバイスを設定

Microphone.devices[_Dropdown.value]

これでstringで選ばれたデバイスがとれる

Debug.Log("選ばれたデバイス名は" + Microphone.devices[_Dropdown.value]);


選んだデバイスをセットするのは

 Microphone.Start(deviceName: devices[_Dropdown.value], true, 10, 44100);

でいいのかな

docs.unity3d.com