wav-Datei abspielen ohne sie im Ordner zu haben

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von GermanElectronix.

    wav-Datei abspielen ohne sie im Ordner zu haben

    Hi,

    kann ich eine wav-Datei abspielen lassen ohne sie im Ordner mit der .exe haben zu müssen? Also das ich einfach die .exe öffne
    und die Musikdatei abgespielt wird.

    Geht das über die Ressourcen? Ob das Programm dann bisschen größer wird ist egal, ist nur die eine Datei.

    Bilder die man in die Ressourcen einfügt befinden sich ja dann auch nicht im Ordner zusammen mit dem Programm.

    In den Ressourcen habe ich sie drinnen und habe auch das Media Player Control auf meiner Form aber My.Ressources.Name

    (Name durch Name der .wav-Datei ersetzt)

    geht leider nicht.

    Danke

    VB.NET-Quellcode

    1. My.Computer.Audio.Play(My.Resources.bang, AudioPlayMode.Background)
    2. 'My.Computer.Audio.Play(My.Resources.bang, AudioPlayMode.BackgroundLoop)
    3. 'My.Computer.Audio.Play(My.Resources.bang, AudioPlayMode.WaitToComplete)
    Ist eine Möglichkeit.
    Würde sowieso zur SoundPlayer-Klasse raten, die ist da imo schöner. Oder Du nimmst CSCore von thefiloe für beste Ergebnisse.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    WaitToComplete blockiert den Thread. Wenn die Form noch nicht angzeigt wurde (z.B. spielst du den Sound im FormLoad Event ab), wird diese nicht angezeigt solange der Sound nicht fertig ist.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    @thefiloe Jou.
    @Creatiive Nimm AudioPlayMode.Background.
    Wenn Du von @timonator schon 3 Modi genannt bekommen hast, warum hast Du sie nicht ausprobiert oder die MSDN danach befragt :?:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Kurze Erklärung für dich:

    My.Computer.Audio.Play(My.Resources.bang, AudioPlayMode.Background)
    Die Wave Datei wird im Hintergrund abgespielt. Der Hauptthread wird nicht blockiert.

    My.Computer.Audio.Play(My.Resources.bang, AudioPlayMode.BackgroundLoop)
    Die Wave Datei wird im Hintergrund in einer "Endlosschleife" abgespielt. Der Hauptthread wird ebenfalls nicht blockiert.

    My.Computer.Audio.Play(My.Resources.bang, AudioPlayMode.WaitToComplete)
    Die Wave Datei wird abgespielt. Die Anwendung wartet, bis der Sound zu Ende abgespielt wurde. So wird auch der Hauptthread blockiert.