2010-06-06 4 views
1

Je regardais System.Media.SoundPlayer et NAudio, et AFAIK ils ne jouent que des flux WAVE. Le fichier WAVE est composé des données PCM pur plus un en-tête de format.Comment lire un flux brut PCM pur avec C#?

Je ne souhaite pas fournir cet en-tête au format WAVE. Je veux passer les paramètres (bitrate, etc) par programme

+0

Voulez-vous lire un fichier WAVE contenant l'en-tête WAVEFORMATEX? Ensuite, vous devez deviner le nombre de canaux, le débit et le nombre de bits par échantillon ... Ou voulez-vous trouver une référence de cet en-tête? La documentation est ici: http://msdn.microsoft.com/en-us/library/dd757720(VS.85).aspx –

+0

@Andreas Je veux pouvoir fournir cette information par programmation, en dehors du flux –

+1

En utilisant le Windows natif API (waveOutOpen, waveOutPrepareHeader, waveOutWrite, etc.), il est possible de lire les données de forme d'onde de votre choix. Cependant, je ne suis pas très bien informé dans le monde .NET ... –

Répondre

3

Comme je l'ai dit dans le commentaire ci-dessus, en utilisant l'API Windows native (waveOutOpen, waveOutPrepareHeader, waveOutWrite, etc.), il est possible de lire les données de forme d'onde de votre choix. J'en fais une réponse afin qu'elle puisse être acceptée dans le cas où c'est ce que le PO recherche.

Questions connexes