2017-03-16 2 views
4

J'essaie de jouer un son dans une application de console. Net Core et je ne peux pas comprendre cela.Comment lire un son dans NETCore?

Je cherche quelque chose géré dans l'environnement .Net de base, peut-être comme .Net normal:

// Not working on .Net Core  
System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"c:\mywavfile.wav"); 
player.Play(); 

trouvé un problème sur Github core dotnet où ils parlent.

https://github.com/dotnet/core/issues/74

Ils disent qu'il n'y a pas d'API de haut niveau pour la lecture audio, mais la question a 9 mois, donc je l'espère, il y a quelque chose de nouveau?

+0

Ensuite, demandez simplement dans ce fil. .NET Core a pour but de résoudre les scénarios de serveur au début, et combien de serveurs ont alors des cartes son? –

+1

Pourquoi le voulez-vous du noyau .Net? Dans les applications de console, vous pouvez utiliser Console.Beep et sinon je regarderais Naudio. – MetaColon

+0

Parce que je voudrais créer un assistant capable de parler et d'écouter et de tirer parti du noyau .net pour pouvoir l'exécuter à partir de presque partout – dbraillon

Répondre

0

Pour contourner ce problème jusqu'à ce que .NET de base a un support audio, vous pouvez essayer quelque chose comme ceci:

public static void PlaySound(string file) 
{ 
    Process.Start(@"powershell", [email protected]"-c (New-Object Media.SoundPlayer '{file}').PlaySync();"); 
} 

Bien sûr, cela ne fonctionne que sur Windows avec PowerShell installé, mais vous pouvez détecter quel OS vous êtes et agissez en conséquence.