Audio Datei/etc. versteckt bzw. minimiert starten.

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Audio Datei/etc. versteckt bzw. minimiert starten.

    Hallo,

    ich habe gerade erst (vor ein paar Tagen) angefangen mit Visual Basic zu arbeiten, vorher habe ich "nur" Webseiten porgrammiert. Also: Mein Problem ist folgendes, vielleicht ist es lächerlich einfach, aber dennoch, ich wollte zum üben einen ganz normalen Button nehmen, der eine Audio datei abspielt wenn man ihn anklickt, das ist ja auch recht einfach:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub B1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B1.Click
    3. Process.Start("C:\Users\OpenArts\Desktop\Hallo.mp3")
    4. End Sub
    5. End Class


    Nun, ist meine Frage, wie bekomme ich es hin, dass beim klicken sich der Player (VLC) nicht über alle Fenster rüber schiebt, sondern nur den Ton abspielt und maximal nur in der Taskleiste das VLC Zeichen zu sehen ist? Am besten sogar so das sich VLC nach dem abspielen wieder schließt. Habe jegliche Sachen die ich bei Google oder hier im Forum gefunden habe ausprobiert, aber entweder hat es nicht geklappt, oder der Thread war nicht Anfänger basiert (meines Erachtens :D ). :whistling: :)

    Würde mich über schnelle Hilfe sehr freuen:)

    MfG OpenArtsDesigns.
    Ich denke mal, dass man einfach mitgeben kann, ob ein Fenster erstellt wird:

    VB.NET-Quellcode

    1. Dim p As New Process
    2. p.StartInfo.FileName = "C:\Users\OpenArts\Desktop\Hallo.mp3"
    3. p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
    4. p.StartInfo.CreateNoWindow = True
    5. p.Start()


    LG
    Twometer
    An Error 404 occurred while loading signature...
    Okay, das ist witzig :whistling: :D , ich suche seit Stunden nach einer Lösung und jetzt durch Zufall, tadaa:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub B1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B1.Click
    3. My.Computer.Audio.Play("C:\Users\OpenArtsDesigns\Desktop\Hallo.wav", _
    4. AudioPlayMode.Background)
    5. End Sub
    6. End Class


    Ich lass es mal so stehen, falls jemand das selbe Problem hat.
    MfG OpenArtsDesigns
    Eigentlich soll man den My-Namespace vermeiden, deshalb noch ne kleine Verbesserung:

    VB.NET-Quellcode

    1. Dim s As New Media.SoundPlayer("C:\Users\OpenArtsDesigns\Desktop\Hallo.wav")
    2. s.Play()


    LG
    Twometer
    An Error 404 occurred while loading signature...
    @Twometer Ah, okay danke:) gibt es einen speziellen Grund diesen zu vermeiden?

    MfG OpenArtsDesigns

    EDIT: Habe die erste Antwort übersehen, aber dazu muss ich sagen das ich dies so schon öfter versucht habe, und immer kam das Fenster penetrant über den Monitor :D .

    OpenArtsDesigns schrieb:

    gibt es einen speziellen Grund diesen zu vermeiden?

    Der My-Namespace wrappt das im .NET-Framework vorhandene Zeugs und zwar richtig unsauber.^^ Ausnahme ist My.Settings und My.Resources, die sind ok.

    Grüßr
    #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 :!:

    OpenArtsDesigns schrieb:

    EDIT: Habe die erste Antwort übersehen, aber dazu muss ich sagen das ich dies so schon öfter versucht habe, und immer kam das Fenster penetrant über den Monitor .


    @OpenArtsDesigns Ja habe ich dann auch gemerkt, du musst wahrscheinlich den MediaPlayer mit dem Argument StartInfo.Arguments = "pfad" mit den Eigenschaften von dem Prozess wie ich sie oben geschrieben habe, starten.

    LG
    Twometer
    An Error 404 occurred while loading signature...
    also wenn man mit dem SoundPlayser hinkommt, sollte man den nehmen, und nicht extra einen Prozess starten.

    Eiglich sollte man den SoundPlayer anschließend auch wieder disposen.
    Oder man fügt eine Instanz davon den Form-Components zu, und verwendet die öfter.
    Dann wird disposed beim Schließen des Forms.
    Vlt. auch egal. Es gibt glaub viele Disposable Klassen, die garnet wirklich disposed werden müssen.