[英]How to real-time convert the PCM buffer to AAC data when recording for iOS?
我正在使用Remote.IO從PCM獲取音頻緩沖區,但是原始數據太大,無法通過蜂窩網絡(3G網絡)發送到遠程端。 我確實參考了一些文章,但是大多數文章建議將文件轉換為其他格式的文件。
有沒有辦法將音頻緩沖區實時轉換為AAC編碼數據?
實際上,您可以將音頻緩沖區直接保存為AAC格式。
設置ASBD時,請像這樣設置
AudioStreamBasicDescription audioFormat;
audioFormat.mFormatID = kAudioFormatMPEG4AAC;
像這樣調用ExtAudioFileCreateWithURL時指定kAudioFileM4AType
:
err = ExtAudioFileCreateWithURL((CFURLRef)audioFileURL,
kAudioFileM4AType,
&audioFormat,
NULL,
kAudioFileFlags_EraseFile,
&outFile);
您還需要像這樣設置編解碼器。
UInt32 codecManf = kAppleSoftwareAudioCodecManufacturer;
ExtAudioFileSetProperty(outFile, kExtAudioFileProperty_CodecManufacturer, sizeof(UInt32), &codecManf);
這應該可以幫助您使AAC編碼正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.