天天看點

iPhone/iPad開發劄記 2012/03/29

1. 聲音問題處理

* 搞定混音

從12:00 - 13:30,一直沒有聲音。

其間,對bits-per-packet進行了調整,變成8*4=32,仍然沒有聲音。

Q:是否音量開關為0了?

Q:inBusNumber = 0 or 1 ???

另,錄音的聲音有明顯斷續,估計和采集時使用的bit/sample與發送端要求的的不符有關,或者sendVideoData對資料的解釋不正确。

* 錄音主要問題總結

基本連貫,有時有斷續

北景音比較大

在主持人啟動了聲音後,似乎就會出現回聲,并且不連貫的問題會更明顯,并會出現300ms延時。

音頻子產品工作的時候,CPU占用非常高

* 研究AQPlayer接收到的音頻資料,使用以下代碼

//getAudioData(0, audioData, numBytes);

unsigned char buf[320];

getAudioData(0, buf, numBytes);

short *srcSamplePtr = (short *)buf;

short *destSamplePtr = (short *)audioData; 

for (int i=0; i<160; i++) {

destSamplePtr[i] = srcSamplePtr[i];

}

結論1:指針類型轉換(short *)對聲音資料沒有影響 結論2:資料中有大量的非0值,故肯定能夠有聲音。

繼續閱讀