WPFMediaElement实现音乐功能增加

当我们在实际开发中,要想在程序中添加音乐的话,可以使用一个叫做WPF MediaElement的类。那么具体的使用方法又是怎样的呢?#t#

一个朋友问了我个问题,说怎么在wpf程序中增加音乐.搜索了下msdn看到了个WPF MediaElement.
把用法总结下贴出来.

WPF MediaElement是一个播放audio和video的类.

前台加入以下代码:

  1. < StackPanel Background="Black">
  2. < MediaElement Source="numbers.
    wmv" Name="myMediaElement" 
  3. Width="450" Height="250" 
    LoadedBehavior="Manual" 
    UnloadedBehavior="Stop" Stretch="Fill" 
  4. MediaOpened="Element_MediaOpened" 
    MediaEnded="Element_MediaEnded"/>
  5. < StackPanel HorizontalAlignment=
    "Center" Width="450" 
    Orientation="Horizontal">
  6. < !-- 播放按钮. -->
  7. < Image Source="3D_menu_07.png" 
    MouseDown="OnMouseDownPlayMedia" 
    Margin="5" />
  8. < !-- 暂停按钮. -->
  9. < Image Source="3D_menu_09_2.png" 
    MouseDown="OnMouseDownPauseMedia"
     Margin="5" />
  10. < !-- 停止按钮. -->
  11. < Image Source="list4_01.png" 
    MouseDown="OnMouseDownStopMedia" 
    Margin="5" />
  12. < !-- 音量设置. -->
  13. < TextBlock Foreground="White" 
    VerticalAlignment="Center" 
    Margin="5" >Volume< /TextBlock>
  14. < Slider Name="volumeSlider" 
    VerticalAlignment="Center" 
    ValueChanged="ChangeMediaVolume" 
  15. Minimum="0" Maximum="1" Value="0.5" 
    Width="70"/>
  16. < !-- 播放速度设置. -->
  17. < TextBlock Foreground="White" 
    Margin="5" VerticalAlignment=
    "Center">Speed< /TextBlock>
  18. < Slider Name="speedRatioSlider" 
    VerticalAlignment="Center" 
    ValueChanged="ChangeMediaSpeedRatio" 
  19. Value="1" Width="70" />
  20. < !-- 播放进度. -->
  21. < TextBlock Foreground="White" 
    Margin="5" VerticalAlignment=
    "Center">Seek To< /TextBlock>
  22. < Slider Name="timelineSlider" 
    Margin="5" ValueChanged=
    "SeekToMediaPosition" Width="70"/>
  23. < /StackPanel>
  24. < /StackPanel>

后台加入以下WPF MediaElement代码:

 
 
 
  1. void OnMouseDownPlayMedia
    (object sender, MouseButton
    EventArgs args)
  2. ...{
  3. myMediaElement.Play();
    //播放加载好的视频文件.
  4. InitializePropertyValues();
  5. }
  6. void OnMouseDownPauseMedia
    (object sender, MouseButton
    EventArgs args)
  7. ...{
  8. myMediaElement.Pause();//暂停播放
  9. }
  10. // Stop the media.
  11. void OnMouseDownStopMedia
    (object sender, MouseButton
    EventArgs args)
  12. ...{
  13. myMediaElement.Stop();
    //停止播放,再次播放会从头开始
  14. }  
  15. private void ChangeMediaVolume
    (object sender, RoutedProperty
    ChangedEventArgs< double> args)
  16. ...{
  17. myMediaElement.Volume = 
    (double)volumeSlider.Value;//更改音量
  18. }
  19. private void ChangeMediaSpeed
    Ratio(object sender, 
    RoutedPropertyChangedEventArgs
    < double> args)
  20. ...{
  21. myMediaElement.SpeedRatio = 
    (double)speedRatioSlider.Value;
    //更改播放速度
  22. }
  23. //播放开始调用的事件
  24. private void Element_MediaOpened
    (object sender, EventArgs e)
  25. ...{
  26. //设置播放进度条的***值
  27. timelineSlider.Maximum = 
    myMediaElement.NaturalDuration.
    TimeSpan.TotalMilliseconds;
  28. }
  29. //播放结束调用事件
  30. private void Element_MediaEnded
    (object sender, EventArgs e)
  31. ...{
  32. myMediaElement.Stop();
  33. }
  34. //播放进度
  35. private void SeekToMediaPosition
    (object sender, RoutedProperty
    ChangedEventArgs< double> args)
  36. ...{
  37. int SliderValue = (int)timeline
    Slider.Value;
  38. TimeSpan ts = new TimeSpan
    (0, 0, 0, 0, SliderValue);
  39. myMediaElement.Position = ts;
    //这里跳转到播放的哪个地方
  40. }
  41. //点击开始时设置播放的音量和播放速度
  42. void InitializePropertyValues()
  43. ...{
  44. myMediaElement.Volume = 
    (double)volumeSlider.Value;
  45. myMediaElement.SpeedRatio = 
    (double)speedRatioSlider.Value;
  46. }

以上就是WPF MediaElement的相关介绍。

标题名称:WPFMediaElement实现音乐功能增加
分享路径:http://www.csdahua.cn/qtweb/news35/316835.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网