문제

나는 타사 디코더에서 압축되지 않은 선형 PCM (über raw) 오디오를 제공하는 미디어 재생 앱을 만들고 있지만, 내가 상상할 수있는 가장 간단한 오디오 형식을 재생하는 데 미쳐 가고 있습니다.

최종 앱은 서버에서 소스 파일 스트림으로 PCM 데이터를 점진적으로 얻을 수 있으므로 처음에는 오디오 큐를 살펴 보았지만 (이동 중에 바이트를 줄 수있는 것처럼 보이지만) 특히 Apple의 이후로 Mindfudge로 밝혀졌습니다. OpenGL의 마법의 견학과 불필요한 캡슐화에서 자체 오디오 대기열 샘플 코드가 꺼져있는 것 같습니다.

(비 스트리밍) 프로토 타이핑 중에 Avaudioplayer를 사용하게되었습니다. 나는 현재 웨이브 헤더를 생성하고 PCM 데이터의 시작 부분에 추가하여 Avaudioplayer가 그것을 받아 들일 수 있도록합니다 (원시 PCM을 사용할 수 없기 때문에).

분명히 스트리밍에 사용되지 않습니다 (웨이브는 헤더에서 전체 파일 길이를 설정하므로 데이터를 이동할 수 없습니다) ..

.. 필연적으로 : iPhone OS를 PCM 바이트를 제공하고 재생할 수있는 방법이 있습니까?

도움이 되었습니까?

해결책

당신은 다시 방문해야합니다 AudioQueue 암호. 모든 guff를 제거하면 약 2 페이지의 코드와 원시 PCM을 공급할 수있는 콜백이 있어야합니다. 이 콜백은 메인 루프와 동기가 높으므로 잠금에 대해 걱정할 필요조차 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top