[Windows Phone] 使用 MediaElement 播放影片

本文撰寫一個應用程式來介紹 MediaElement 的使用,功能包含播放指定的影片,可透過 [播放]、[暫停]、[停止] 鈕來操作影片,也可透過 [靜音] 鈕來設定影片是否靜音的切換。

 

前言

本文撰寫一個應用程式來介紹 MediaElement 控制項的使用,功能包含播放指定的影片,可透過 [播放]、[暫停]、[停止] 鈕來操作影片,也可透過 [靜音] 鈕來設定影片是否靜音的切換。實際應用程式畫面如下圖所示:

 

 SNAGHTMLa5a15eSNAGHTMLa5ba73

 

步驟說明

Step1 建立一個 Windows Phone 應用程式的專案。

Step2 將要播放的 MP4 影片放入方案總管內。

image

 

Step3 畫面設計,包含以下五個控制項:

  1. Button控制項,Name->btnPlay、Content->播放
  2. Button控制項,Name->btnPause、Content->暫停
  3. Button控制項,Name->btnStop、Content->停止
  4. Button控制項,Name->btnS、Content->靜音
  5. MediaElement 控制項,Name->m

image

 

產生的 XAML 程式碼如下:

 


        <!--ContentPanel - 其他內容置於此-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <MediaElement x:Name="m" Height="400" Margin="0,150,0,0" VerticalAlignment="Top"/>
            <Button x:Name="btnPlay"  Content="播放" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="12,35,0,0" Grid.Row="1"/>
            <Button x:Name="btnPause" Content="暫停" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="113,35,0,0" Grid.Row="1"/>
            <Button x:Name="btnStop" Content="停止" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="305,35,0,0" Grid.Row="1"/>
            <Button x:Name="btnS" Content="靜音" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="209,35,0,0" Grid.Row="1"/>
        </Grid>

 

Step3 事件處理函式

 


        // 建構函式
        public MainPage()
        {
            InitializeComponent();
            Loaded += MainPage_Loaded;
            btnPlay.Click += btnPlay_Click;
            btnPause.Click += btnPause_Click;
            btnStop.Click += btnStop_Click;
            btnS.Click += btnS_Click;
        }

        // 載入時指定 m 控制項來播放專案下的 m.mp4 媒體檔
        void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            // 指定 Source,您可以將 m.mp4 改成你的 mp4 檔名
            m.Source = new Uri("m.mp4", UriKind.Relative);

        }

        // 按 [播放] 鈕執行
        void btnPlay_Click(object sender, RoutedEventArgs e)
        {
            m.Play(); //播放媒體
        }

        // 按 [暫停] 鈕執行
        void btnPause_Click(object sender, RoutedEventArgs e)
        {
            m.Pause(); //暫停媒體播放
        }

        // 按 [停止] 鈕執行
        void btnStop_Click(object sender, RoutedEventArgs e)
        {
            m.Stop(); //停止媒體播放
        }

        // 按 [靜音] 和 [和已靜音] 鈕互換
        void btnS_Click(object sender, RoutedEventArgs e)
        {
            if (m.IsMuted == true)
            {
                btnS.Content = "靜音";
                m.IsMuted = false; //設定 m 控制項取消靜音
            }
            else
            {
                btnS.Content = "已靜音";
                m.IsMuted = true; //設定 m 控制項指定靜音
            }
        }

 

相關參考與引用

MediaElement Class

使用 MediaElement 播放电影