2010-04-02 3 views

답변

2

AVAudioPlayer의 peakPowerForChannel: 메소드의 드롭 인 대체를 찾고 있다고 가정합니다. 불행히도, 아무도 없습니다. 당신은 자신의 롤백해야합니다.

OpenAL "소리"는 "버퍼"(샘플 데이터, 메모리에로드 됨)와 샘플 데이터에 적용 할 속성과 같은 것을 나타내는 "원본"의 조합입니다.

OpenAL 재생에 대한 쉬운 접근 방식은 전체 파일을 메모리에로드하고 모든 호출을 하나의 호출로 재생하는 것입니다. 그러나 NSInputStream을 사용하여 파일에서 OpenAL 버퍼로 PCM 샘플 데이터 청크를 읽고 alBufferData()를 사용하여 자신의 함수를 사용하여 피크 전력을 계산하고 소스를 사용하여 청크를 재생 한 다음 EOF까지 반복합니다 .

Finch를 사용하려는 의도가 있음을 알고 있지만 AudioQueues에 실제 닫기 검색 기능을 제공해야합니다 (미터링이 중요한 기능인 경우). 이 응용 프로그램 유형에 대해 훨씬 더 잘 설계되었습니다. 특히, kAudioQueueProperty_CurrentLevelMeterDB 속성은 최대 RMS (mPeakPower) 또는 평균 RMS 수준 (mAveragePower)을 제공하며 원하는만큼 자주 읽을 수 있습니다.

행운과 행복 코딩! 도움이 될 수

일부 자원 :

+1

윽, 내가 AudioQueues을 피하기 위해 기대했다. 절대로 이해할 수 없습니다. 그러나 답장을 보내 주셔서 감사합니다. 찾을 수있는 정보가 거의 없습니다! – Thaurin

관련 문제