2017-04-05 2 views
0

Ich versuche, einen Ton zu spielen, sobald eine Taste mit diesem Code geklickt wird ich überall im Internet zu finden:VB Wie Audiodatei abzuspielen

Private Sub but_play_sound_Click(sender As Object, e As RoutedEventArgs) Handles but_play_sound.Click 
    My.Computer.Audio.Play(My.Resources.fileName1, AudioPlayMode.Background) 
End Sub 'fileName1 being the audio file 

Aber Visual Studio kommt mit diesen drei Fehlern und ich bin ratlos.

Schweregrad Beschreibung Projekt Datei Leitungsunterdrückungsstatus Fehler BC30456 'Computer' ist kein Mitglied von 'Soundbank.My'. Soundbank C: \ Benutzer \ nick_ \ Microsoft Onedrive \ Dokumente \ Visual Studio 2017 \ Projects \ Soundbank \ Soundbank \ MainPage.xaml.vb 10 Aktive

Severity Code Beschreibung Projektdatei Zeilenunterdrückung Staat Fehler BC30456 'Ressourcen' ist kein Mitglied von 'Soundbank.My'. Soundbank C: \ Benutzer \ nick_ \ Microsoft Onedrive \ Dokumente \ Visual Studio 2017 \ Projects \ Soundbank \ Soundbank \ MainPage.xaml.vb 10 Aktive

Severity Code Beschreibung Projektdatei Zeilenunterdrückung Staat Fehler BC30451 'AudioPlayMode' ist nicht deklariert . Es ist möglicherweise aufgrund seines Schutzniveaus nicht zugänglich. Soundbank C: \ Benutzer \ nick_ \ onedrive \ Dokumente \ Visual Studio 2017 \ Projekte \ Soundbank \ Soundbank \ MainPage.xaml.vb 10 Active

Ich sollte auch hinzufügen Ich möchte meine Audio-Dateien in einem anderen Ordner in der Ordner "Assets".

+0

Sollte nicht "mein" 'ich' sein? –

Antwort

0

in VB Projekten My bezieht sich auf einen speziellen Namensraum, der Objekte enthält, die Abkürzungen für häufig auftretende Aufgaben, zum Beispiel bieten My.Computer: https://msdn.microsoft.com/en-us/library/11bxex12.aspx

Es ist mit Me, My, MyBase und MyClass nicht zu verwechseln, die alle sind hier beschrieben: https://msdn.microsoft.com/en-us/library/20fy88e0.aspx

der Compiler scheint zu sagen, dass die Standalone-Kennung My nun unter Bezugnahme auf Soundbank.My - das nehme ich an einig Mitglieder in Ihrer Klasse oder Projekt (wie Soundbank ist kein Typname in der CLR- oder Basisklassenbibliothek).

Verwenden Sie also Ctrl+,, um herauszufinden, wo My wird neu definiert und ändern Sie es so My nicht mehr bezieht sich auf etwas in Ihrem Projekt.

+0

Soundbank ist der Name des Projekts und das Code-Snippet, das ich unten eingefügt habe, ist der Code, den ich für mein Projekt habe. 'öffentliche NotInheritable Klasse HauptSeite Erbt Seite \t Privater Sub but_play_sound_Click (Absender als Gegenstand, e As RoutedEventArgs) Griffe but_play_sound.Click \t \t Me.Computer.Audio.Play (Me.Resources.fileName1, AudioPlayMode.Background) \t End Sub End CLASS' ich sehe nicht, wo 'my' definiert werden würde ... – Nick

+0

@ Nick Ihr Code Referenzen in einer XAML-Datei-Objekte, da so ** ist ** mehr zu einem Projekt als nur dieser VB-Code. Bitte posten Sie Ihren XAML. – Dai

+0

Ah, tut mir leid. Das Snippet war zu lang für einen Kommentar, ich hoffe, es macht dir nichts aus, ich habe es als Kern eingefügt. gist.github.com/nstjlol/edd4e35b4d14e1851c5d146c832896e0 – Nick