Lecture de fichiers audio(.wav) dans VB.net w/ contrôle du volume
EDIT: Résolu en auto-réponse ci-dessous.
J'ai cherché partout mais je ne peux pas trouver quelque chose d'utile pour la lecture de fichiers audio avec contrôle du volume.
J'ai essayé XNA; SLIMDX et "de Microsoft.VisualBasic.Les appareils.Audio", mais rien n'y fit.
Les options que j'ai trouvé qui a enregistré un volume de contrôle étaient trop complexes et je ne pouvais pas comprendre comment utiliser, et la méthode que j'ai actuellement ne permet pas de faire autre chose que jouer en arrière-plan(avec ou sans boucle, ou en suspendre l'exécution jusqu'à la fin de la lecture) et de s'arrêter.
Voici mon code actuel:
Dim AD As New Microsoft.VisualBasic.Devices.Audio
Sub Play()
Dim af() As Byte = IO.File.ReadAllBytes("music.wav")
AD.Play(af, AudioPlayMode.BackgroundLoop)
End Sub
Cette boucle "de la musique.wav" dans le fond, mais je ne peut pas mettre en pause/recherche ou de contrôler le volume. Est-il un moyen simple(comme ci-dessus) pour lire des fichiers audio à partir d'un tampon et de contrôler le volume de l'audio? J'ai cherché partout mais rien, j'ai découvert les œuvres de mon projet.
Système: Win7 64 bits
VS version: 2010
Langue: VB.net
Oh encore une chose, la mise en mémoire tampon audio premier est quelque chose dont j'ai besoin pour ma solution(comme vous pouvez le voir dans mon code actuel)
Quelqu'un a une solution à cela? 🙂
- J'ai découvert NAudio être ce dont j'ai besoin, mais quand mon application se ferme, j'obtiens cette erreur: "WaveOut périphériques n'était pas fermée à WaveOut.Finalize()" quelqu'un sait quelles sont les causes de cette erreur? aussi, j'ai vérifié, il n'y a pas de "finaliser" la méthode dans le WaveOut classe.
- vous devez appeler WaveOut.Dispose()
- oh oui merci un tas! qui résout l'erreur 😀
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé la réponse après un peu de recherche autour de alors, voici la solution que j'ai trouvé pour ma question:
Télécharger Naudio et ajouter les références de votre projet.
Ensuite le code suivant est de savoir comment l'utiliser pour charger l'audio à partir d'un tampon:
WaveFileReader peut être changé à n'importe quelle lecteur dont vous avez besoin(c'est à dire la MP3 un pour les ".mp3 de fichiers") pour charger votre fichier audio, mais le code fonctionne comme pour le chargement ".wav de fichiers".
oh, et aussi, n'oubliez pas de
lorsque vous avez terminé pour éviter les erreurs.
J'espère que ma recherche aide à quelqu'un 🙂
Avez-vous essayé d'utiliser le Lecteur multimédia de contrôle?
Comme il semble y avoir peu de documentation sur l'utilisation de naudio dans VB.NET plutôt que le C# exemples trouvés partout, et à la suite de @user1666788 les commentaires, c'est une manière simple de le faire jouer un fichier MP3 VB.NET plutôt que de WAV.