2016-08-19 4 views
1

Ich habe von 2012 auf Visual Studio 2015 aktualisiert und es hat mich total durcheinander gebracht. Ich kann WAV-Dateien nicht mehr in die Ressourcen meines Projekts importieren, ohne sie zu einem MemoryStream zu machen, den mein Code nicht akzeptiert. Ich habe jetzt stundenlang gesucht, und ich werde wirklich frustriert. Wird mir bitte jemand helfen? Ich importiere die Dateien genau nach folgender Anleitung: How to: Import or Export ResourcesWAV-Dateien können nicht in Visual Studio importiert werden

Lassen Sie mich wissen, wenn Sie Bilder oder andere Informationen benötigen. Ich bin wirklich verzweifelt an diesem Punkt.

+0

Welcher Objekttyp wurde im Jahr 2012 importiert? – FloatingKiwi

Antwort

0

Der Link, den Sie verwenden, ist VS 2010

der Ressourcen-Datei öffnen. Standardmäßig ist das Menü oben links Strings; aber es gibt einen kleinen Dropdown-Pfeil. Klicken Sie darauf und die vierte Option ist Audio. Wenn Sie jetzt auf die Option zum Hinzufügen einer vorhandenen Datei klicken, wird standardmäßig nach WAV-Dateien gefiltert, und sie werden als solche hinzugefügt.

+0

Sie müssen den Ressourcentyp nicht auswählen, wenn Sie eine vorhandene Datei hinzufügen. Der Typ der Ressource wird aus der Datei abgeleitet. – jmcilhinney

+0

Ja, aber mein Punkt war, dass der Dateitypfilter voreingestellt ist, wenn Sie den gewünschten Typ auswählen. –

+0

Ich verstehe. Ich denke, ich habe mich weniger auf die "standardmäßig wird es für. WAV-Dateien zu filtern" und mehr auf die "und fügt sie als solche", weil sie als der richtige Typ in beide Richtungen hinzugefügt werden. – jmcilhinney

1

Ich weiß nicht genau, welche Erfahrung Sie glauben, Sie hatten in VS 2012, aber ich habe gerade VS 2015, 2013 und 2012 getestet und sie alle arbeiteten genau auf die gleiche Weise. Ich habe einfach die Projekteigenschaften geöffnet, die Seite Ressourcen ausgewählt, auf das Dropdown-Menü Ressource hinzufügen geklickt, Vorhandene Datei hinzufügen ausgewählt und zu der gewünschten WAV-Datei navigiert. Die Datei wurde als Ressource hinzugefügt, und die entsprechende Eigenschaft von My.Settings enthüllte diese Ressource als Typ UnmanagedMemoryStream. Wie gesagt, in allen drei Versionen passierte das genau so. Wenn du etwas anderes in VS 2012 hast, dann hast du in VS 2012 etwas anderes gemacht. Du hast uns nicht gesagt, was du getan hast, also können wir nur raten.

Welche Art von Daten erwartet Ihr Code? Vielleicht wäre das auch eine gute Information gewesen. Wenn es ein Byte Array ist, dann können Sie eine von dieser Ressource erhalten Stream etwa so:

Dim resourceStream = My.Resources.MyWavResource 
Dim length = CInt(resourceStream.Length) 
Dim resourceData(length - 1) As Byte 

resourceStream.Read(resourceData, 0, length) 

das genau ist, wie Sie von jedem Stream zu einem Byte Array lesen. Sie könnten, wenn Sie mehr als einmal tun müssen, setzen, dass in ein Verfahren:

Private Function GetStreamData(stream As Stream) As Byte() 
    Dim length = CInt(stream.Length) 
    Dim data(length - 1) As Byte 

    stream.Read(data, 0, length) 

    Return data 
End Function 

Sie es so nennen könnten:

Dim data As Byte() 

Using resource = My.Resources.MyWavResource 
    data = GetStreamData(resource) 
End Using 

Sie könnten es sogar als eine Erweiterungsmethode schreiben und dann ruf es auf der Stream selbst an.

Verwandte Themen