Resourcesフォルダ内にある音声ファイルを3秒毎に間隔をおいて順番に再生したいのですが
Invokeを使ってもうまくできません。
具体例)
forループ内にInvokeを入れてaudioSourceを指定してみました。
for(int i = 0; i < replayCount; i++){ Invoke("AudioAutoPlay", 3.0f); } } void AudioAutoPlay(){ audioClip = Resources.Load("fileName")as AudioClip; audioSource.PlayOneShot(audioClip);
もしくはInvokeの指定するメソッド自体をループ内に入れてみました。
for(int i = 0; i < replayCount; i++){ Invoke("AudioAutoPlay", 3.0f); void AudioAutoPlay(){ audioClip = Resources.Load("fileName")as AudioClip; audioSource.PlayOneShot(audioClip); } }
上記2つとも音声は出ませんでした。
メッセージは
Trying to Invoke method: AudioAutoScript.AudioAutoPlay couldn't be called.
と出ました。
ちなみにforループせずに
AudioAutoPlay(); void AudioAutoPlay(){ audioClip = Resources.Load("fileName")as AudioClip; audioSource.PlayOneShot(audioClip); }
だけなら問題なく再生されます。
実際の音声ファイルは複数ありフォルダから指定してひとつずつずれて参照する必要があり
ループにする必要があります。
どうすればできるでしょうか?分かる方教えて下さい。
環境)
PC: mac
Unity2018.2
言語:C#
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。