基本信息
源码名称:WPF 音频播放 示例源码(支持avi/mp3/dat/wav/rmvb/rm/wmv等格式)
源码大小:0.09M
文件格式:.zip
开发语言:C#
更新时间:2018-05-25
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 3 元 
   源码介绍
可以播放 avi/mp3等音频文件


using System;
using System.Windows;
using System.Windows.Forms;
using System.Windows.Threading;

namespace VideoPlayer
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        private readonly DispatcherTimer timer = new DispatcherTimer();


        public MainWindow()
        {
            InitializeComponent();
            timer.Tick  = timer_Tick;
        }

        private void timer_Tick(object sender, EventArgs e)
        {
            slider2.Value = mediaElement1.Position.TotalMilliseconds;
        }

        private void mediaElement1_MediaOpened(object sender, RoutedEventArgs e)
        {
            slider2.Maximum = mediaElement1.NaturalDuration.TimeSpan.TotalMilliseconds;
            timer.Interval = new TimeSpan(0, 0, 1);
            timer.Start();
        }

        private void mediaElement1_MediaEnded(object sender, RoutedEventArgs e)
        {
            StopMovie();
            timer.Stop();
        }

        private void btnExit_Click(object sender, RoutedEventArgs e)
        {
            Close();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            slider1.SelectionStart = 0;
            slider1.SelectionEnd = 1;
        }

        private void btnPlay_Click(object sender, RoutedEventArgs e)
        {
            var openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "音/视频文件|*.avi;*.mp3;*.dat;*.wav;*.rmvb;*.rm;*.wmv";
            if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                mediaElement1.Source = new Uri(openFileDialog.FileName);
                mediaElement1.Volume = slider1.Value;
                mediaElement1.Play();
                btnStart.Content = "暂停";
                image1.Visibility = Visibility.Hidden;
            }
        }

        private void btnStart_Click(object sender, RoutedEventArgs e)
        {
            if (btnStart.Content.ToString() == "开始")
            {
                if (mediaElement1.HasAudio || mediaElement1.HasVideo)
                {
                    mediaElement1.Play();
                    btnStart.Content = "暂停";
                    image1.Visibility = Visibility.Hidden;
                }
            }
            else
            {
                mediaElement1.Pause();
                btnStart.Content = "开始";
                image1.Visibility = Visibility.Hidden;
            }
        }

        private void btnStop_Click(object sender, RoutedEventArgs e)
        {
            StopMovie();
        }

        private void StopMovie()
        {
            mediaElement1.Position = TimeSpan.Zero;
            mediaElement1.Stop();
            slider2.Value = 0;
            btnStart.Content = "开始";
            image1.Visibility = Visibility.Visible;
        }

        private void btnAllScreen_Click(object sender, RoutedEventArgs e)
        {
            if (this.IsFullscreen())
            {
                this.ExitFullscreen();
            }
            else
            {
                this.GoFullscreen();
            }
        }

        private void slider2_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
            var timeSpan = new TimeSpan(0, 0, 0, 0, (int) slider2.Value);
            mediaElement1.Position = timeSpan;
        }

        private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
            mediaElement1.Volume = slider1.Value;
        }
    }
}