一部のオーディオ データを Unity 4 で再生する必要があるプロジェクトを開発しています。入力データのサンプル レートは 24000 Hz (24kHz) で、通常、システムのスピーカーのデフォルトのサンプル レートは 44100 (44.1kHz) です。Windows では、AudioSettings.outputSampleRate = 24000; を使用できます。このデバイスのサンプルレートを問題なく変更できます。しかし、Mac OS ではそれが不可能であることがわかりました。変更した後でも、値を出力すると、まだ 44100 が返されます。エラー メッセージが表示されることもあります。
ディスクに保存されていないディスクからアセットをリロードしようとしています
したがって、Mac OS は、ユーザーのアプリケーションでこの値を変更することをユーザーに禁止していると思われます。
ここの説明によると:http://docs.unity3d.com/Documentation/ScriptReference/AudioSource.Play.html
それを解決するために AudioSource.Play に遅延値を設定してみました。44100/24000*24000 = 44100 なので、私がしたことは次のとおりです。
myClip = AudioClip.Create("MySinoid", 24000, 1, 24000, false, false);
audio.loop = true;
audio.clip = myClip;
audio.Play(44100);
しかし、うまくいかず、オーディオ データのほぼ半分が再生されません。誰かが私と同じ問題に遭遇しましたか? そして、あなたの解決策は何ですか?そして、OnAudioFilterRead はどのように再生しますか? またはFixedUpdate + SetData?
どうもありがとうございました!!