문제

나는 내가 할 신청서를 만들고있다 :

  • 마이크에서 기록하고 입력에 대해 실시간 처리를 수행하십시오.
  • MP3 파일 (일반 노래)을 재생하지만 실시간으로 출력 조작
  • 때때로이 노래를 통해 추가 사운드를 재생해야하지만 단순히 버퍼를 추가하여 그렇게 할 수 있다고 생각합니다.

요컨대, 녹음 및 재생을위한 원형 버퍼가 있어야하며, 재생 될 새로운 데이터를 사용하여 20ms 정도마다 출력 버퍼를 "공급"해야합니다.

나는 DirectSound를보고 있었는데 많은 도움이되지 않는 것 같습니다. 출력 버퍼에 대한 읽기 및 쓰기는 Win32와 매우 유사 해 보입니다. 도움이되는 유일한 곳은 메인 곡을 통해 "추가 사운드"를 재생하는 것입니다.

DirectSound를 사용해야합니까, 아니면 Raw Windows API로 바로 가야합니까?
DirectSound가 나를 위해 무엇이든 할 것입니까?

미리 감사드립니다!

도움이 되었습니까?

해결책

DirectSound API는 더 나은 실시간 제어를 제공합니다. 또한 Windows에서 사운드를 사용하는 지원 방법입니다. 나는 Win32 API가 타락했다는 인상을 받았지만 이것에 대해 잘못 될 수있었습니다.

이 질문은 당신과 가깝습니다

https://stackoverflow.com/questions/314522/what-is-the-best-c-sound-api-for-windows

또한

DirectSound는 Windows에 가장 적합한 오디오 추상화 계층입니까?

마지막으로, 이것은 Microsoft가 말하는 것입니다. http://msdn.microsoft.com/en-us/library/dd370784(vs.85).aspx

다른 팁

어느 것도 아니다? :)

이야기는 DirectSound가 Waveout을 대체 한 것이지만 DirectSound는 Vista에서 감가 상승 API로 DirectInput에 가입하여 대체됩니다. WASAPI. DirectSound 및 Waveout은 Vista의 사용자 공간 Wasapi 위에 구현됩니다. XP에서 WaveOut 및 DirectSound는 동일한 커널 레벨 믹서 API로 공급됩니다.

이러한 모든 인터페이스를 통합하기 위해 Openal과 같은 것을 살펴 보려면 OpenGL과 동일한 라인을 따라 잘 지원되는 오디오 표준입니다.

대기 시간에 매우 민감한 것 같습니다. 보려면 비용을 지불 할 수 있습니다 ASIO

나는 찾았다 하모니 센트럴 - 오디오 프로그래밍. 또한 읽습니다 W : DirectSound.

Windows Vista는 범용 오디오 아키텍처를 기반으로 완전히 다시 작성된 오디오 스택을 갖추고 있습니다. 재 설계된 오디오 스택의 아키텍처 변경으로 인해 DirectSound에서 오디오 드라이버로의 직접 경로는 존재하지 않습니다.

Xbox 360 및 Microsoft Windows 통합으로 인해 Microsoft는 개발자가 Xaudio 및 Xact와 같은 동등한 Xbox 오디오 API로 새로운 애플리케이션을 마이그레이션하도록 개발자에게 적극적으로 추진하고 있습니다.

개방형 유망한 것 같습니다.

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