オーディオトラックが付いたビデオフォーマットを別のファイルにデコードしています。スペックごとに、1/75秒ごとに1フレームのビデオをレンダリングします。また、ビデオファイルの長さは、オーディオトラックの長さと同じです。Audio Queue Servicesでオーディオを同期するための提案?
オーディオキューサービス(私は、私が遭遇している状況のような正確なタイミング制御が必要な状況があると考えていたので、これを選択しました)でオーディオを再生しています。それは大きなAPIであり、アップルのプログラミングガイドのサンプルコードをずっと進歩させていません(ただし、ObjC APIをよりうまく実装しています)。
理想的な状況では、基本的な再生設定で問題なく動作します。ビデオとオーディオは同期したままで、両者は同時に終了します(私自身の違いを伝える能力の範囲内で)。しかし、パフォーマンスの悪影響(または私がLeaks Instrumentや何かをつける)が起これば、彼らはすぐに同期が外れます。
これは私がこれまで何かを書いた初めてのことです:私は、音や映像に関する以前の経験はありません。 Audio Queue Servicesの経験はありません。だから私はここからどこに行くのか分からない。
このようなことをしましたか?あなたはいくつかのアドバイスやヒントやトリックを提供していますか?私が読む必要があるいくつかの基本的な文書がありますか?どんな助けでも大歓迎です。
あなたはビデオを再生するために何を使用していますか? – sbooth
私はCGBitmapContextCreateを使ってCGContextRefを作成し、そのデータストリームにピクセルを書き込んで、CGImageRefに変換してCALayerに描画しています。効率を上げるために、私はフレームごとに変化するピクセルのみを更新します。幸いにも、それは非常に低品質のビデオフォーマットです。 –
@JamesWilliams私はオーディオキューサービスを使用して同期しようと別にビデオをレンダリングし、オーディオデータを送信すると同様の種類のアプリケーションを開発していますが、結果も達成されましたが、サウンドで不具合を起こし、オーディオとビデオを同期させるのにグリッチが発生するオーディオを再生するプログラミングのスニペットは非常にappriciable ...またはこれ以上の考えが役に立つだろう –