Ich mache ein Programm für die Aufnahme von Audio.FileNotFoundException Ausnahme auf My.Computer.Audio.Play
Code:
Imports System.Runtime.InteropServices
Public Class Form1
Private Declare Function record Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
record("open new Type waveaudio Alias recon", "", 0, 0)
record("record recon", "", 0, 0)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
record("save recon c:\mic.wav", "", 0, 0)
record("close recon", "", 0, 0)
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
My.Computer.Audio.Play("c:\mic.wav", AudioPlayMode.Background)
End Sub
End Class
Fehler tritt auf der Leitung My.Computer.Audio.Play("c:\mic.wav", AudioPlayMode.Background)
:
FileNotFoundException wurde nicht behandelt Bitte achten Sie darauf, eine Sounddatei an der angegebenen Stelle vorhanden ist.
Ist die Datei existiert in C sehen: \ mic.wav – Bugs
Nein, als ich im Internet gelesen werden, da dieser Code mic.wav automatischen Erstellen und dann spielen es –
Dies ist Code aus dem vorherigen Jahrhundert. Ähnlich verhält es sich, das Verzeichnis C: \ ist durch UAC geschützt. Also Button2 wird nicht funktionieren, Sie können nicht herausfinden, weil Sie den Rückgabewert von MciSendString() ignorieren. Button3 ist daher zum Scheitern verurteilt. Wählen Sie ein besseres Verzeichnis und eine [korrekte Deklaration] (http://pinvoke.net/default.aspx/winmm/mciSendString.html) und fügen Sie die * erforderliche * Fehlermeldung hinzu. –