NSSound を使用して、10 秒の AAC エンコードされた事前に録音されたホワイト ノイズのループを再生するアプリケーションの 1 つのホワイト ノイズ機能に関する作業がほぼ完了しました。
[sound setLoops: YES]
必要なのはそれだけですよね?
それは魅力のように機能しますが、サウンドファイルの終了と再起動の間に可聴の一時停止があることに気付きました..一種の「パタパタ」音です。これは元のサウンド ファイルをループしているときには存在せず、これを理解しようとして 1 時間ほど経過した後、NSSound が最悪であり、可聴一時停止はプライベート バックグラウンド スレッドの同期のアーティファクトであるという結論に達しました。サウンドを再生します。どういうわけかメインの実行ループに依存しているようで、これにより、サウンドの終了と再開の間に可聴ギャップが生じます。
私はサウンドについてほとんど知らないし、これは非常にマイナーな機能なので、ループする 10 秒のサウンド フラグメントを再生するためだけに CoreAudio の深みにはまりたくありません。ぴったり合うように:
- Core Audio: 完全にやり過ぎですが、少なくとも標準的なフレームワークです
- AudioQueue: 複雑、C++ のサンプル コード付き!?
- MusicKit/ SndKit: 多くのオープンソースなどに基づいて、学習曲線も膨大です。
iOS 4 で AVFoundation がサウンドを再生する良い方法であることがわかりましたが、それは Mac OS X 10.7 でのみ予定されています..
Mac OS X 10.5+ でサウンドを確実にループさせる使いやすい方法はありますか?
Objective-C アプリケーションから AudioQueue または Core Audio を使用する手間を省くサンプル コードはありますか?
どんな助けでも大歓迎です..
よろしくお願いします、
フランク