2010-03-25 5 views
0

내가 정의 공급 코드를 사용하여 네트워크를 통해 MP3를 스트리밍하고를 사용하여 스트림의 추정 시간을 찾기
는 추정 할 수있는 방법은 AVAudioPlayer (URL 만 작동한다)를 사용하여 AudioFileStreamOpen 같은 API와 등 거기에 없습니다 시냇물 길이?는 코어 오디오

if(AudioQueueGetCurrentTime(queue.audioQueue, NULL, &t, &b) < 0) 
     return 0; 

    return t.mSampleTime/dataFormat.mSampleRate; 

진행률 표시 줄을 만들 때 총 지속 시간은 어떻게됩니까? 그게 가능하니?

P. 명확화 - MP3 파일의 실제 크기를 알고 있고, 사용 가능한지 모르지만 ... 실제 진행 시간/지속 시간이 아니라 진행률 표시 줄을 제공하는 솔루션으로 해결할 수도 있습니다.

+0

오디오 데이터는 어떻게 받고 있습니까? NSURLConnection 사용 하시겠습니까? –

+0

아니요, 맞춤 NSStream – reflog

답변

0

MP3 파일의 전체 크기를 알고있는 경우 초당 비트 수를 계산할 수 있으므로 스트림의 길이를 계산할 수 있습니다. VBR이라면 MPEG 프레임을 평균화해야 할 것입니다. CBR의 경우 한 패킷의 비트 전송률 만 사용하면됩니다.

+0

옙을 통해 그 해결책을 찾았습니다. – reflog

관련 문제