0

この問題は、オーディオの再生を頻繁に停止および開始し、ExtAudioFileRefオブジェクトを介して AAC オーディオ ファイル内を何度もシークするときに発生します。まれに、この奇妙な動作は次のように表示されExtAudioFileReadます。

場合によっては、これらの番号をmDataByteSizeの のみAudioBufferに割り当てAudioBufferListます。

-51604480
-51227648
-51350528
-51440640
-51240960

16 進数では、これらの数値のパターンは0xFC....00です。

コード:

status = ExtAudioFileRead(_file, &numberFramesRead, ioData);

printf("s=%li d=%p d.nb=%li, d.b.d=%p, d.b.dbs=%li, d.b.nc=%li\n", status, ioData, ioData->mNumberBuffers, ioData->mBuffers[0].mData, ioData->mBuffers[0].mDataByteSize, ioData->mBuffers[0].mNumberChannels);

出力:

s=0 d=0x16668bd0 d.nb=1, d.b.d=0x30de000, d.b.dbs=1024, d.b.nc=2 // good (usual)
s=0 d=0x16668bd0 d.nb=1, d.b.d=0x30de000, d.b.dbs=-51240960, d.b.nc=2 // misbehaving

この問題は、iOS 7 の iPhone 4S で発生します。シミュレーターで問題を再現できませんでした。

4

1 に答える 1