我正在解碼一個在單獨文件中有伴音軌的視頻格式。根據規格,我每1/75秒渲染一幀視頻。視頻文件的長度與音軌的長度相同。將音頻與音頻隊列服務同步的建議?
我正在使用Audio Queue Services播放音頻(我之所以選擇這個音頻是因爲我認爲會出現需要精確定時控制的情況 - 只是我遇到的情況!)。這是一個很大的API,我沒有在Apple的編程指南中通過示例代碼取得很大進展(儘管我已經用更好的ObjC API封裝了這些代碼)。
在理想情況下,基本播放設置可以正常工作。視頻和音頻保持同步,並在同一時間結束(在我自己的能力區分)。但是,如果性能打嗝(或者我附上泄漏儀器或其他東西),它們很快就會失去同步。
這是我第一次寫這種性質的東西:我以前沒有聲音或視頻的經驗。我當然沒有使用音頻隊列服務的經驗。所以我不確定該從哪裏出發。
你做過這樣的事嗎?你有一些建議或提示或技巧提供?是否有一些我需要閱讀的基礎文檔?任何幫助將不勝感激。
你用什麼來播放視頻? – sbooth 2010-12-08 17:22:17
我用CGBitmapContextCreate創建了一個CGContextRef,並將像素寫入其數據流,並將其轉化爲CGImageRef以繪製到CALayer中。爲了提高效率,我只更新每幀更改的像素。幸運的是,這是一種質量很低的視頻格式。 – 2010-12-08 19:11:08