我正在解码一个在单独文件中有伴音轨的视频格式。根据规格,我每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