문제

휴대 전화에서 캡처 한 PCM 오디오 스트림이 있으며 재생하고 싶습니다.

C ++ 에서이 오디오를 재생하는 가벼운 방법을 찾으려고 노력하고 있습니다.

이미 웨이브 헤더를 때리고 모든 미디어 플레이어에서 재생되는 파일을 만들 수 있지만 스트리밍 할 때 파일을 실시간으로 재생하고 싶습니다. 다시 읽기 위해 파일을 디스크에 쓰지 않아도됩니다. 또한 한 파일을 중지하고 다른 파일을 시작할 때 오디오에서 일시 정지를 원하지 않습니다.

나는 Openal이 오디오 스트리밍 기능을 제공한다는 것을 알고 있지만 더 간단한 것을 기대하고있었습니다. 단일 채널 PCM 스트림 만 재생하면됩니다.

이를 수행 할 수있는 가볍고 무료 (상업용) 라이브러리 또는 Windows API를 아는 사람이 있습니까?

도움이 되었습니까?

해결책

사용 웨이브 Windows에서 API

다른 팁

그것은처럼 보인다 특허가 만료되었습니다, 따라서 법적 합병증은 없어야합니다. 특허의 아름다움은 알고리즘을 공개한다는 것입니다.

단일 PCM 스트림을 재생하는 것은 그리 간단하지 않습니다. 그렇게 어렵지 않습니다. 나는 OpenAl을 사용하지 않았지만 Standard Windows Audio, Xaudio2 또는 Directsound는 사용하기 쉽습니다. 스트림에서 버퍼 2를 채우는 동안 버퍼 1을 재생합니다. 그런 다음 Buffer1 등을 채우는 동안 Buffer2를 재생하십시오.

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