1

一部のオーディオ データを 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?

どうもありがとうございました!!

4

0 に答える 0