AudioQueue播放本地音频文件,该音频文件实时在更改
nic519
由 nic519
发布于 2014年01月07日
| 更新于 2014年01月07日
无人欣赏。
如题,AudioQueue播放本地音频文件,该音频文件实时在写数据(由网络下载并实时写到文件,音频文件是固定大小的,比如说是5000000bytes)。
问题是: 当我判断下载的数据足够给AudioQueue播放的时候,就让AudioQueue播放这个本地文件,但AudioQueue只能识别我当时给它的文件的当时内容(比如当时文件只有前100000bytes),它就只能读到100000bytes就停止了。除非我拖动进度条,拖到比如200000bytes的位置,他才知道更新后的文件里具体的数据。
请问有什么办法让AudioQueue知道这个文件的实时数据大小呢
共1条回复
楼长
·
terryso
回复于 2014年01月07日
AudioQueue其实播放的是缓冲队列里面的内容,你要不断的把你需要播放的内容扔到缓冲队列中。AudioQueue好像默认会开3个AudioQueueBuffer,当AudioQueue播放玩一个AudioQueueBuffer的内容,它就会回调你的函数,并AudioQueueBuffer的引用传给你,这时你就要给它内容塞满它,否则当所有AudioQueueBuffer播放完,就播放结束了。