2015-08-14 70 views
1

我想將靜音/歸零音頻採樣數據寫入mov音頻數據中的媒體容器文件。我的音頻數據是帶有一個通道的G711線性PCM-mulaw編碼數據。目前我的代碼看起來像:將靜音音頻數據寫入文件ffmpeg C++

AVFrame* pSilentData = av_frame_alloc(); 
memset(&pSilentData->data[0], 0, iDataSize); 
pkt.data = (uint8_t*) pSilentData; 
pkt.size = iDataSize; 

// ... 

av_freep(&pSilentData->data[0]); 
av_frame_free(&pSilentData); 

但是,這聽起來像點點,而不是沉默的噪音。有什麼問題?

+0

請張貼*實際代碼*,不近似,否則人們會浪費時間解決不存在的問題。使用複製和粘貼(即不要重新鍵入代碼),否則錯誤蠕變。 –

+0

對不起,這是一個錯字。我的實際代碼沒問題,'unit8_t *'。真的很抱歉給您帶來不便。 :( –

+0

OK - 向下投票刪除。請務必在將來發布實際的代碼(複製粘貼是你的朋友)。 –

回答

4

µ-law音頻零值表示爲0xff,所以更改:

memset(&pSilentData->data[0], 0, iDataSize); 

到:

memset(&pSilentData->data[0], 0xff, iDataSize); 
+0

謝謝!它解決了我的問題。我很感激你,儘管downvote :) –

+1

下來-vote用於發佈不準確的代碼,但由於現在已經解決了這個問題,我已經刪除了反對票。 –