在 WP8 中单击按钮时如何播放音频文件?

How to play an audio file when a button is clicked in WP8?

我正在尝试通过单击按钮播放音频文件 function.I 已经尝试过此代码,但是 work.How 无法在代码后面播放音频文件?

    public static List<string> audiofiles = new List<string>();
    public static string sound1 = (new Uri("/Assets/Audio/baby-crying-01.wav", UriKind.Relative)).ToString();
    public static string sound2 = (new Uri("/Assets/Audio/baby-crying-02.wav", UriKind.Relative)).ToString();
    public static string sound3 = (new Uri("/Assets/Audio/baby-crying-03.wav", UriKind.Relative)).ToString();
    public static string sound4 = (new Uri("/Assets/Audio/baby-crying-04.wav", UriKind.Relative)).ToString();

    public static string[] sounds_list = new string[4];

    private void Practice_Click(object sender, RoutedEventArgs e)
    {            
           this.LayoutRoot.Children.Add(music);
            audiofiles.Add(sound1);
            audiofiles.Add(sound2);
            audiofiles.Add(sound3);
            audiofiles.Add(sound4);

            for (i = 0; i < 4; i++)
            {
                sounds_list = audiofiles.ToArray();                                
                music.Source = new Uri(sounds_list[i], UriKind.Relative);
                music.Play();
            }


    }

使用 MediaElement 在 Windows Phone 中播放声音。 步骤:

  1. 创建新项目。
  2. 放弃 MediaElement
  3. 在此之后将其 name 属性 设置为 mycontrol。根据您的文件更改来源 属性。

    <MediaElement x:Name="mycontrol" Source="/1.mp3" AutoPlay="False" HorizontalAlignment="Left" Height="103" Margin="98,56,0,0" VerticalAlignment="Top" Width="255" />
    
  4. 要在页面打开时自动播放音乐文件,您可以将 MediaElement 的自动播放 属性 设置为真。默认情况下 AutoPlay 属性 为真。
  5. 您可以使用 MediaElement 对象的播放、暂停和停止方法来控制媒体播放。 向具有 Content 属性 值的 MainPage.xaml 添加三个按钮 播放、暂停和停止
  6. 下面给出了这些按钮的点击事件处理程序代码。

    private void play_button_click(object sender, RoutedEventArgs e)
    {
        mycontrol.Play();            
    }
    
    //pause the audio file
    private void pause_button_click(object sender, RoutedEventArgs e)
    {
        mycontrol.Pause();
    }
    
    //stop the audio file
    private void stop_button_click(object sender, RoutedEventArgs e)
    {
       mycontrol.Stop();          
    }
    
  7. 完成。