記錄一下旭斥,在我們使用openSLES播放pcm音頻的時候搬俊,C++代碼運行到創(chuàng)建播放器的是出現(xiàn)了這個提示:pAudioSrc: data format 2 not allowed占拍,意思就是:
數(shù)據(jù)格式2不允許" -拒絕SL_DATAFORMAT_PCM?的處理方法
而代碼編譯的時候都是正常的汽绢,在我們跑到初始化播放器的時候:CreateAudioPlayer()返回的參數(shù)是不成功的档叔。
解決方案:
//這個注釋代碼就是之前使用的報錯的代碼
// SLDataLocator_AndroidBufferQueue locBufq = {SL_DATALOCATOR_ANDROIDBUFFERQUEUE, 2};
SLDataLocator_AndroidSimpleBufferQueue locBufq = {SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, 2};
以上注釋的代碼就是錯誤的代碼逢艘,下面的是更正的代碼。好記性不如爛筆頭祭钉。