2009-08-13 7 views
2

시스템 스피커가 아닌 사운드 카드 장치에서 WPF로 톤을 재생하고 싶습니다. 삑 소리 또는 wav 파일을 재생하는 것과는 별개로 실망한 WPF는 간단한 사운드 주파수를 재생할 원시 방법이 없습니다. ie play (freq, duration);WPF의 DirectX.Sound

DirectX DirectSound를 사용하여 살펴보기 Ive는 Direct X가 Windows Form 핸들을 필요로하므로 WPF에서 Windows 핸들을 사용하는 방식에 문제가 발생합니다.

누군가 WPF에서 톤을 재생할 솔루션을 갖고 있습니까?

+0

내가 WPF를 기대하지 않을 것이다 사운드를 재생, 다이렉트로 이런 짓을 (또는 한 모든 현대 프레임 워크)를 사용하여 이와 같은 단순한 톤을 생성 할 수 있습니다. 실용적인 응용 프로그램이 아니기 때문에 음색이 포함 된 WAV 파일을 만들고 재생하는 것은 상대적으로 쉽습니다. – MusiGenesis

+0

병렬 응용 프로그램에 대한 확신이 없으므로 음성 생성기와 같이 사운드 카드에서 다른 주파수와 파형을 출력하고 싶다고 가정 해 볼 수 있습니다. 약간의 리소스가 비효율적이어서 WAV 파일을 먼저 만들어야합니다. 특히 비행 중에 그것을 바꾸고 싶다면! – PrimeTSS

+0

@Prime : 소프트웨어 합성을위한 실용적인 응용 프로그램이 분명히 있습니다. (생존을 위해 내가하는 일입니다.)하지만 주파수와 지속 시간이 단순한 음색보다 훨씬 더 중요합니다. 실제로 사운드 합성에 관심이 있다면 다른 질문을하겠습니다. – MusiGenesis

답변

4

항상 WindowInteropHelper을 사용하여 WPF 창의 네이티브 핸들을 가져올 수 있습니다.

+0

다른 DirectX/XNA에 대한 WPF 창 핸들을 가져 오는 데이 코드를 사용했습니다. – SteveM

1

당신은 윈도우 폼 컨트롤을 만든 다음 DirectSound를이 컨트롤의 핸들을 전달하는 WindowformHost을 사용할 수 있습니다, 난이 비디오를 표시하는 N 나를