參考: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 停止,暫停
- AudioQueueAddPropertyListener
- AudioFileGetProperty
- AudioQueueSetProperty
- AudioQueueSetParameter
- AudioFileOpenURL 通過(guò)url打開(kāi)一個(gè)語(yǔ)音文件,并返回一個(gè)AudioFileID
- AudioFileReadPackets
相關(guān)結(jié)構(gòu)體
- AudioFileID
- AudioQueueRef
- AudioQueueBufferRef
- AudioStreamBasicDescription
- AudioStreamPacketDescription
斷點(diǎn)續(xù)傳
在http請(qǐng)求頭中設(shè)置數(shù)據(jù)的請(qǐng)求范圍,請(qǐng)求頭中都是key-value成對(duì)
[request setValue:range forHTTPHeaderField:@"Range"];