Lorsque je tente de lire le fichier sonore « Windows Critical Stop.wav » je reçois l'exception suivante: exec {"Sound API only supports playing PCM wave files."} System.Exception {System.InvalidOperationException}
SoundPlayer et Windows 7 fichier wav
Je comprends ce que PCM est, je ne sais pas comment ce soit: 1) lire le fichier son, 2) déterminer a priori qu'il ne s'agit pas de PCM et ne pas jouer, et bloquer le fichier d'être choisi.
Voici le code que je utilise:
SoundPlayer player = new SoundPlayer();
player.SoundLocation = FileNameTextBox.Text;
try
{
player.Play();
}
catch (Exception exec)
{
MessageBox.Show("Sound could not be played: " + exec.ToString());
}
Merci qui a aidé. Le fichier en question avait un 0x55 dans ce champ. Pour tout curieux je mets dans le code suivant: if (dialog.ShowDialog() == DialogResult.OK) { BinaryReader br = nouveau BinaryReader (File.Open (dialog.FileName, FileMode.Open)); br.BaseStream.Position = 20;Int16 aF = br.ReadInt16(); br.Fermer(); if ((aF! = 1) && (aF! = 2)) { MessageBox.Show ("Mauvais format audio =" + audioFormat.ToString()); retour; Un autre site Web avec des informations de format: http://www.sonicspot.com/guide/wavefiles.html Avait un peu plus de détails sur les formats. Merci encore pour votre aide. –
Je suis content que cela vous a aidé. – oldUser
Ce programme peut convertir vos fichiers en PCM. Il suffit de décocher la merde adware et c'est gratuit: http://www.nch.com.au/switch/ – Sire