none
Beep in einer universellen Windows App (UWP: C# / C++) ausgeben RRS feed

  • Frage

  • Hallo,

    ich habe im ewig im Internet geforscht, aber keine funktionierende Möglichkeit gefunden, einen einfachen Piep-/ Beep mit veränderbarer Frequenz und Dauer mit einer UWP-App auszugeben. Mein bisheriger Code (Visual Studio-UWP-C++ mit Button):

    // MainPage.xaml.cpp // Implementierung der MainPage-Klasse #include "pch.h" #include "MainPage.xaml.h" #include <Windows.h> using namespace App1; using namespace Platform; using namespace Windows::Foundation; using namespace Windows::Foundation::Collections; using namespace Windows::UI::Xaml; using namespace Windows::UI::Xaml::Controls; using namespace Windows::UI::Xaml::Controls::Primitives; using namespace Windows::UI::Xaml::Data; using namespace Windows::UI::Xaml::Input; using namespace Windows::UI::Xaml::Media; using namespace Windows::UI::Xaml::Navigation;

    MainPage::MainPage() { InitializeComponent(); } void App1::MainPage::Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { Beep(1000, 1000); }

    Fehler: "Der Bezeichner "Beep" ist nicht definiert"

    In einer C++-Konsolenanwendung klappt alles so, aber nicht hier in einer UWP-App.

    Weiß jemand, wo der Fehler liegt, oder, ob es eine Alternative zu Beep in UWP gibt?

    Viele Grüße

    Montag, 29. Mai 2017 21:57

Antworten

Alle Antworten

  • Hallo Mathias,

    ja gibt es. Schau mal hier Link

    Zugriff auf Systemsound hat man aber nicht, deswegen der Umweg.

    Habe es auch grade ausprobiert

    Oft ist es sinnvoll nach winrt anstatt uwp zu suchen. Die suche bei Google nach "winrt beep" ergab gleich den Treffer  


    Gruß, Thomas

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

    Icon für UWP

    Montag, 29. Mai 2017 22:16
  • Hallo Thomas,

    vielen Dank für die Antwort!

    Ich habe von deinem Link ein Testprogramm erstellt. Als einzigen Fehler erhalte ich aber, dass "mediaElement1" im aktuellen Kontext nicht vorhanden sei.

    Code: (bei "mediaElement1": Fehler: CS0103)

    private async void Button_Click(object sender, RoutedEventArgs e) { var beepStream = await BeepBeep(200, 3000, 250); mediaElement1.SetSource(beepStream, string.Empty); mediaElement1.Play();
    }

    Wie kann ich also den "beepStream" richtig abspielen?

    Viele Grüße, Mathias


    • Bearbeitet Mathias345 Mittwoch, 31. Mai 2017 05:55
    Dienstag, 30. Mai 2017 21:06
  • Du muss noch auf der MainPage.xaml das MediaElement und den Button anlegen

    <Grid x:Name="rootGrid" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
            <Button Content="BeepBeep" Click="Button_Click" />
    
            <MediaElement x:Name="mediaElement1" />
        </Grid>


    Gruß, Thomas

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

    Icon für UWP


    Dienstag, 30. Mai 2017 21:09
  • Super vielen Dank!!!! Es hat geklappt!
    Mittwoch, 31. Mai 2017 06:07