2011-07-18 5 views
1

Je tente de développer une application Windows en utilisant C# qui peut lire des données audio en streaming. Fondamentalement, je vais avoir une application cliente qui est responsable de la lecture de différents fichiers audio. Actuellement, à partir de l'application cliente, j'extrais le paramètre de configuration matérielle à partir de l'en-tête du fichier, puis j'écoute les données du fichier (flux PCM) sur le réseau. Il est donc possible d'utiliser les paramètres de configuration matérielle envoyés par le client pour configurer le matériel réel (côté serveur), puis lui donner le flux de données du fichier afin qu'il puisse lire les données audio.Lecture de données audio en streaming (C#)

Lors de la recherche, j'ai eu connaissance de NAudio. NAudio est-il capable de faire ce genre de choses ou la meilleure option pour moi serait de passer au code nativ C/C++ en utilisant Directsound APIS.

mise à jour: En configurant le matériel, je veux dire le paramétrage de la lecture audio. Ces param comprendrait sample rate (par exemple: 44100 Hz), number of channels (par exemple: chaîne hi-fi), storage format (par exemple: 16 bit little endian), etc.

Mon application cliente est sous Linux et je l'ai planté un pilote ALSA interceptant PCM configuration stream et hw_params, puis envoyez-les au serveur.

mise à jour se termine

Merci.

+0

Qu'essayez-vous réellement de configurer, quand vous dites matériel réel? –

+0

@ Russ, s'il vous plaît vérifier le 'update' pour votre question. Merci. –

Répondre

2

Si vous regardez le latest NAudio code, vous verrez qu'il y a deux exemples dans l'exemple d'application NAudioDemo qui lisent l'audio en continu. L'une est une application de chat rudimentaire qui envoie de la voix compressée via UDP, l'autre joue en streaming de la radio internet MP3. Je vous suggère d'y jeter un coup d'œil et d'essayer l'exemple d'application pour voir s'il répond à vos besoins.

+0

Merci Mark. Je vais vérifier et mettre à jour ici si cela m'aide. –

+0

Merci Mark. ça a marché :). –