AudioToolbox

參考:http://blog.csdn.net/jiangyiaxiu/article/details/9197221

這個(gè)庫(kù)是C的接口,偏向于底層,用于在線流媒體播放;
系統(tǒng)的AVPlayer播放簡(jiǎn)單音視頻還可以,但是功能不強(qiáng)大,不能處理邊聽(tīng)邊存,斷點(diǎn)續(xù)傳,播放事件等;

實(shí)現(xiàn)原理

將讀取到的數(shù)據(jù)存到buffer queue中,然后按照buffer的順序進(jìn)行播放;


Paste_Image.png

主要頭文件

  • AudioQueue.h
  • AudioFile.h
  • AudioFileStream.h

相關(guān)函數(shù)

1.AudioFileStreamOpen AudioFileStreamOpen
2.AudioFileStreamParseBytes 解析音頻數(shù)據(jù)
3.AudioQueueNewOutput 創(chuàng)建音頻隊(duì)列AudioQueueRef 、設(shè)置buffer callback函數(shù)
4.AudioQueueAllocateBuffer 在AudioQueueRef中創(chuàng)建音頻緩沖數(shù)據(jù)AudioQueueBufferRef
5.AudioQueueEnqueueBuffer 把緩沖數(shù)據(jù)排隊(duì)加入到AudioQueueRef等待播放
6.AudioQueueStart 播放
7.AudioQueueStop / AudioQueuePause 停止,暫停

  1. AudioQueueAddPropertyListener
  2. AudioFileGetProperty
  3. AudioQueueSetProperty
  4. AudioQueueSetParameter
  5. AudioFileOpenURL 通過(guò)url打開(kāi)一個(gè)語(yǔ)音文件,并返回一個(gè)AudioFileID
  6. AudioFileReadPackets

相關(guān)結(jié)構(gòu)體

  1. AudioFileID
  2. AudioQueueRef
  3. AudioQueueBufferRef
  4. AudioStreamBasicDescription
  5. AudioStreamPacketDescription

斷點(diǎn)續(xù)傳

在http請(qǐng)求頭中設(shè)置數(shù)據(jù)的請(qǐng)求范圍,請(qǐng)求頭中都是key-value成對(duì)
[request setValue:range forHTTPHeaderField:@"Range"];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容