J'essaie de créer une application audio, un peu comme Spotify en utilisant la bibliothèque open source nAudio. L'application est uniquement conçue comme une archive personnelle de mes propres idées de chansons. La plupart des fonctionnalités fonctionnent très bien mais WaveChannel32 (New WaveFileReader) ne prend pas en charge les URL qu'il semble. Maintenant, les fichiers audio eux-mêmes se trouvent dans un dossier sur un serveur, qui est également un serveur SQL. Retour au début | Je ne suis pas sûr de l'approche qui serait la meilleure pour se connecter au serveur et obtenir les fichiers audio. Comment se connecterait-il réellement au serveur? Serait-on configurer le serveur en tant que serveur web? Serait-il suffisant de spécifier l'adresse IP du serveur?Diffusion de son depuis Internet/serveur (et passage à nAudio soundplayer)
Et enfin, comment puis-je créer un flux Internet que l'application peut utiliser? Il devrait probablement y avoir une sorte de mise en tampon du fichier son d'abord, en cours d'exécution dans un thread. Et la lecture réelle en cours d'exécution dans un deuxième fil? Et comment pourrais-je faire ça?
Edit: J'ai ajouté le code que j'essayé de convertir en VB.NET, mais je reçois le message d'erreur: Valeur de type « System.IO.MemoryStream » ne peut pas être converti en « String »
le code converti ressemble à ceci:
Public Shared Sub PlayMp3FromUrl(ByVal url As String)
Using ms As New MemoryStream()
Using stream As Stream = WebRequest.Create(url).GetResponse().GetResponseStream()
Dim buffer As Byte() = New Byte(32768) {}
Dim read As Integer = 0
While (read = stream.Read(buffer, 0, buffer.Length)) > 0
ms.Write(buffer, 0, read)
End While
End Using
ms.Position = 0
Using blockAlignedStream As WaveStream = New BlockAlignReductionStream(WaveFormatConversionStream.CreatePcmStream(New Mp3FileReader(ms)))
Using waveOut As New WaveOut(0, 500, Nothing)
waveOut.Init(blockAlignedStream)
waveOut.Play()
While (blockAlignedStream.Position < blockAlignedStream.Length)
System.Threading.Thread.Sleep(100)
End While
End Using
End Using
End Using
End Sub
Ok, j'ai ajouté du code au premier message, essayant juste de convertir le code C# en VB.NET, mais les générateurs m'ont donné des erreurs. On dirait qu'il y a quelque chose qui ne va pas dans le code à partir de ce lien, au moins il semble que ce soit après la conversion en VB.NET. Je reçois le message d'erreur: "Valeur de type 'System.IO.MemoryStream' ne peut pas être converti en 'String'" Ceci est à la ligne "New BlockAlignReductionStream (WaveFormatConversionStream.CreatePcmStream (New Mp3FileReader (ms)))" –
Comme indiqué sur le site du projet de code NAudio, une version de NAudio post décembre 2008 est requise. –