Windows Phone 7 實現視頻播放

來源:互聯網
上載者:User
Windows Phone 7 實現視頻播放

 Windows Phone 7實現視頻播放需要添加MediaElement控制項。在xaml中添加如下代碼:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">    <MediaElement x:Name="media" HorizontalAlignment="Stretch" AutoPlay="True"VerticalAlignment="Stretch" Stretch="Uniform"/></Grid>

以上代碼錶示在Grid中添加了一個MediaElement控制項。

 

兩個重要的屬性設定:

Stretch屬性:非常重要,尤其是在使用多媒體元素,例片。展開確定了內容如何被重新調整大小來填滿它的已經分配的空間。展開可能的選項有:

◦       None – 內容儲存原來的大小

◦      Fill -內容被調整大小來填滿整個尺寸而不去儲存螢幕的高寬比

◦      Uniform -內容被調整大小來填充到目尺規寸即所能達到的終點,而它會儲存其原有的螢幕高寬比

◦      UniformToFill -內容被調整大小來填充到目標,它會儲存其原有的螢幕高寬比,如果需要,內容將會被裁剪來滿足要求。

以上是代碼實現的方式,同時也可以手動拖動控制項,進行布局的設計。

AutoPlay屬性:表示視頻是否自動播放。

添加MediaElement 控制項之後便要在頁面載入的時候載入視頻,因此添加 頁面的 Loaded 事件,一般在頁面的建構函式中註冊Loaded事件。代碼如下:

 public Video()        {            InitializeComponent();            this.Loaded += new RoutedEventHandler(Video_Loaded);//雙擊TAB鍵自動產生響應函數。        }

註冊事件之後便可以寫視頻的播放代碼了,代碼如下:

   private  void Video_Loaded(object sender, RoutedEventArgs e)      {       if (NavigationContext.QueryString.Count > 0)            {                try                {                   //設定視頻的源檔案路徑,即要播放的視頻路徑                    myVideo.Source = new Uri(NavigationContext.QueryString["VideoUrl"], UriKind.Relative);                   //設定視頻的位置                    myVideo.Position = TimeSpan.FromMilliseconds(0);                   //播放視頻                    myVideo.Play();                }                catch (Exception ex)                {                    MessageBox.Show(ex.ToString());                }            }       }

以上程式碼完成之後,需要完成導航到播放視頻頁面的代碼。

在首頁面(本文設定為MainPage.xaml)

我們使用別名導航方式導航到視頻播放頁面,並需要傳遞一個參數,該參數用來傳遞播放視頻的相對路徑。在App.XAML中添加如下代碼:

 <Application.Resources>        <nav:UriMapper x:Key="UriMapper">            <nav:UriMapper.UriMappings>                <nav:UriMapping  Uri="MyVideo/{myvideo}" MappedUri="/Views/Video/Video.xaml?VideoUrl=Resouces/Video/{myvideo}" />            </nav:UriMapper.UriMappings>        </nav:UriMapper>    </Application.Resources>

之後在App.xaml.cs中添加如下代碼:

this.RootFrame.UriMapper = Resources["UriMapper"] as UriMapper;

以上步驟完成之後,就只差導航的代碼了。

我們再添加一個HyperlinkButton控制項,代碼如下:

<HyperlinkButton Content="影視" Height="30" HorizontalAlignment="Left" Margin="102,74,0,0" Name="VideohyperlinkButton" VerticalAlignment="Top" Width="200"NavigateUri="MyVideo/video2.wmv" />

以上代碼錶示我們傳遞了一個路徑為Resouces/Video/video2.wmv的視頻檔案。

完成以上工作之後,便大公告成了...運行代碼,點擊HyperlinkButton控制項(Content="影視"),便會播放視頻了。(實現音頻播放功能和上面步驟過程完全一樣)。

最後附上一張圖片:

以上內容參考了Jake Lin的視頻。

(著作權,轉載請標明出處)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.