2009-08-13 10 views
2

Je souhaite jouer des sons dans WPF à partir d'un périphérique de carte son (pas de haut-parleur système). Je suis déçu de constater qu'en dehors de la lecture d'un bip ou d'un fichier wav, WPF n'a aucune façon native de jouer des fréquences sonores simples. c'est-à-dire jouer (fréquence, durée); En cherchant à utiliser DirectX DirectSound Ive a rencontré un problème sur la façon dont WPF utilise Windows, car Direct X a besoin d'un handle de formulaire Windows.DirectX.Sound dans WPF

Quelqu'un at-il une solution pour jouer des sons dans WPF?

+0

Je n'attendre WPF (ou tout cadre moderne) pour pouvoir générer des tons simples comme celui-ci. Pas beaucoup d'application pratique pour cela, et il est relativement facile de créer et de lire votre propre fichier WAV contenant le son. – MusiGenesis

+0

Je ne suis pas sûr de l'absence d'application paractique, disons que vous voulez sortir différentes fréquences et formes d'onde de la carte son, comme un générateur audio. Semble un peu inefficace de ressources pour avoir d'abord créer un fichier WAV puis le lire. Surtout si vous voulez le changer à la volée! – PrimeTSS

+0

@Prime: il y a évidemment une application pratique pour la synthèse de logiciels (c'est ce que je fais dans la vie), mais cela implique beaucoup plus qu'un simple ton avec fréquence et durée, ce que je pensais être ce que vous demandiez. Si vous êtes réellement intéressé par la synthèse sonore, je poserais une autre question. – MusiGenesis

Répondre

4

Vous pouvez toujours utiliser le WindowInteropHelper pour obtenir le handle natif pour votre fenêtre WPF.

+0

J'ai utilisé ceci pour obtenir le handle d'une fenêtre WPF pour d'autres choses DirectX/XNA. – SteveM

1

Vous pouvez utiliser WindowformHost pour créer un contrôle de forme de fenêtre, puis passer la poignée de ce contrôle à DirectSound, je l'ai fait avec DirectShow, il montrant la vidéo n jouer son pour moi