メモリに保持されるようにサウンドを刻みます。 avaudioplayer?システムサウンド?コアオーディオ?

StackOverflow https://stackoverflow.com/questions/3736063

質問

私は非常に小さなオーディオファイルを再生しようとしています - それは約0.05秒の長さであり、それは非圧縮されていない.WAVファイルです。

rgiht今、私は使用しています AVAudioPlayer サウンドを再生します。

私はスピナーと一緒に高い速さでサウンドを演奏するつもりです。インスタンス化する場合 AVAudioPlayer ループカウントが100であるため、予想通り非常に急速にサウンドを再生します。

実行した場合 [audioPlayer play] ただし、スピナーの各「ティック」では、オーディオはひどく遅れています。私の推測では、高いループカウントを設定するのとは異なり、 [audioPlayer play] 再生ごとにオーディオクリップのメモリの完全なセットアップと分解が必要です。

クリップを強制的に長時間メモリでセットアップし続けるように強制する方法はありますか?これは非常に頻繁にサウンドであるため、アプリ全体の実行中に維持することも問題ありません。

役に立ちましたか?

解決

より正確なタイミングに依存している場合は、他のサウンドAPIのいずれかを使用してみてください。オーディオユニットのremoteioは複雑ですが、非圧縮サウンドを再生する最も正確なタイミングを可能にします。オープンキューとオーディオキューは、他の2つのオプションです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top