代码之家  ›  专栏  ›  技术社区  ›  Abila

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

  •  0
  • Abila  · 技术社区  · 9 年前

    我正在尝试通过单击按钮功能播放音频文件。我试过这个代码,但它不起作用。如何在代码隐藏中播放音频文件?

        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();
                }
    
    
        }
    
    1 回复  |  直到 9 年前
        1
  •  2
  •   cvsingh    9 年前

    使用 媒体元素 在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. 要在页面打开时自动播放音乐文件,可以设置 媒体元素 为真。默认情况下 AutoPlay 属性为true。
    5. 您可以使用 媒体元素 对象 将三个按钮添加到 MainPage.xaml 具有 Content 财产价值 播放、暂停和停止 .
    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. 完成。