none
Soundwiedergabe auf einer Windows 10 app über visual basic RRS feed

  • Frage

  • Hallo zusammen,

    Ich hänge daran jetzt schon eine ganze zeit und habe dazu im Internet auch noch nichts gefunden, deswegen wollte ich hier mal fragen.

    Zuerst: Ich bin blutiger Anfänger, habe zwar schon mal was über Windows Forms programmiert (auch vb), aber das ist ja etwas ganz anderes.

    Ich habe eine Windows universelle App erstellt (Visual Basic) und will, dass wenn man auf einen Knopf drückt, ein (wav) Sound abgespielt wird.

    Ich habe mir das vom Aufbau etwa so vorgestellt:

    Public NotInheritable Class MainPage
        Inherits Page
        Private Sub button1_Click(sender As Object, e As RoutedEventArgs) Handles button.Click
    [Code zum Abspielen der Sounddatei]
        End Sub
    End Class

    Die Sounddatei soll sich im Anwendungsverzeichnis befinden, sie wird also mit installiert.

    Ich hoffe mir kann einer helfen ;)

    Schonmal danke im Vorraus,

    Emil Fischer

    Dienstag, 20. Juni 2017 13:21

Antworten

  • Hallo Emil

    dafür brauchst Du zuerst auf der MainPage.xaml ein MediaElement und ein Button

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
            <Grid.RowDefinitions>
                <RowDefinition Height="40"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <Button x:Name="myPlayButton" Content="Play" Click="myPlayButton_Click" />
            <MediaElement x:Name="myMediaElement" Grid.Row="1" />
        </Grid>

    zudem brachst Du noch die Click Methode

    Private Sub myPlayButton_Click(sender As Object, e As RoutedEventArgs)
    	Dim assets = Await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets")
    	Dim sound = Await assets.GetFileAsync("Sound.wmv")
    
    	Dim stream = Await sound.OpenReadAsync()
    	myMediaElement.SetSource(stream, sound.FileType)
    	myMediaElement.Play()
    End Sub

    Du findest in der MS Doku weiter Infos zum MediaElement



    Gruß, Thomas

    Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!

    Icon für UWP

    • Als Antwort markiert Emil Fischer Dienstag, 20. Juni 2017 18:24
    Dienstag, 20. Juni 2017 14:32

Alle Antworten

  • Hallo Emil

    dafür brauchst Du zuerst auf der MainPage.xaml ein MediaElement und ein Button

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
            <Grid.RowDefinitions>
                <RowDefinition Height="40"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <Button x:Name="myPlayButton" Content="Play" Click="myPlayButton_Click" />
            <MediaElement x:Name="myMediaElement" Grid.Row="1" />
        </Grid>

    zudem brachst Du noch die Click Methode

    Private Sub myPlayButton_Click(sender As Object, e As RoutedEventArgs)
    	Dim assets = Await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets")
    	Dim sound = Await assets.GetFileAsync("Sound.wmv")
    
    	Dim stream = Await sound.OpenReadAsync()
    	myMediaElement.SetSource(stream, sound.FileType)
    	myMediaElement.Play()
    End Sub

    Du findest in der MS Doku weiter Infos zum MediaElement



    Gruß, Thomas

    Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!

    Icon für UWP

    • Als Antwort markiert Emil Fischer Dienstag, 20. Juni 2017 18:24
    Dienstag, 20. Juni 2017 14:32
  • Hallo Thomas,

    Danke für deine Schnelle und hilfreiche Antwort!

    Ich habe ein bisschen probiert und einen noch einfacheren Weg gefunden (mithilfe des Links):

    Zuerst natürlich ein Mediaelement erstellen, diesem dann eine Datei zuordnen und den Haken bei Autostart entfernen.

    Das ist dann der Text in MainPage.xaml.vb:

        Private Async Function button_ClickAsync(sender As Object, e As RoutedEventArgs) As Task Handles button.Click
            mediaElement1.Play()
        End Function
    Grüße, Emil

    Dienstag, 20. Juni 2017 18:20
  • Der unterschied ist aber das man mit meinem Code zur Laufzeit die Datei ändern könnte

    Gruß, Thomas

    Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!

    Icon für UWP

    Dienstag, 20. Juni 2017 19:08
  • ah, ok, Danke!

    Mittwoch, 21. Juni 2017 15:16