2010-04-07 3 views
0

오디오 파일에서 패킷을 읽으 려하지만 재생 버퍼로 보내지 않습니다. 패킷의 배열을 얻고 싶습니다. 오디오를 준비하고 전화를 걸었습니다.배열에 대한 AudioFileReadPackets?

OSStatus err = AudioFileReadPackets (audioFileID,FALSE,outBytes,NULL,0,numPackets,whatGoesHere?); 

하지만 마지막 인수는 무엇입니까?

감사합니다.

답변

1

Audio Queue Services를 사용하는 경우 AudioQueueBuffer의 mAudioData 포인터를 넣습니다. 그러나 비트를 원하기 때문에 미리 할당 된 버퍼 (정적 또는 동적)에 포인터를 전달할 수 있습니다. 파일의 dataFormat 부분을 사용하여 버퍼의 필요한 크기에 대한 상한을 추정 할 수 있습니다.

이 계산의 예는 Audio Queue Services Programming Guide에 제공됩니다. DeriveBufferSize에 대한 grep.

+1

"outBytes"는 진정한 out 매개 변수가 아니라는 점을 주석해야합니다. 이는 io 매개 변수로 버퍼의 용량에 맞게 미리 설정해야한다는 의미입니다. 읽을 데이터가 버퍼 크기를 초과하면 더 적은 패킷이 읽히고 다른 출력 매개 변수는이를 반영합니다. – warrenm