在 Silverlight 專案中控制媒體播放
當您將媒體檔案 (音訊或視訊) 新增至 Microsoft Silverlight 1.0 專案,再將其插入畫板時,該檔案就會新增至 [MediaElement] 物件,並設定為自動播放。這與將音訊或視訊檔插入 Windows Presentation Foundation 專案不同,因為後者會在腳本中建立時間軸。在 Microsoft Silverlight 1.0 專案中,您無法以控制動畫腳本的方式來控制視訊或音訊檔播放。
注意事項: |
---|
您可以使用 Microsoft Expression Encoder 2 來建立媒體播放程式,並使用許多 Silverlight 1.0 範本的其中一個來更換其面板。媒體播放程式已包含播放、暫停及其他控制項的按鈕。您可以修改 Expression Encoder 2 隨附的 Silverlight 1.0 範本,或是在 Expression Blend 2 中開啟編碼專案,新增更多視覺元素及功能。 |
使用下列程序,控制 Expression Blend 2 中 Silverlight 1.0 專案的媒體檔案播放。如需有關在 Silverlight 1.0 專案中控制媒體的詳細資訊,請參閱 Silverlight 快速入門 (英文)。
在 Silverlight 1.0 專案中控制媒體檔案播放
將媒體檔案新增至您的專案。您可以使用新增媒體檔案至 Silverlight 1.0 專案中所述的程序。
重新命名媒體物件,然後從程式碼後置檔案參照媒體物件。例如,以滑鼠右鍵按一下 [物件與時間軸] 之下的媒體物件,選取 [重新命名],然後鍵入 MyVideo。
如果您要讓使用者擁有按一下即可停止和啟動媒體檔案的物件,請在此時將該物件新增至畫板,然後重新命名該物件。例如,將橢圓形新增至畫板,然後將它重新命名為 [暫停]。如需詳細資訊,請參閱將元素新增至 Silverlight 專案的 XAML 文件中與重新命名物件。
在 [專案] 面板的 [檔案] 下,按兩下 XAML 文件的程式碼後置檔案。例如,如果您正在編輯的 XAML 文件名為 [Page.xaml],請按兩下 [Page.xaml.js] 檔案。程式碼後置檔案會在 JavaScript 編輯器的 Expression Blend 2 中開啟。
您的程式碼後置檔案中,已有用以連接事件處理常式的程式碼範例行,如下所示:
rootElement.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
在程式碼的該行之下,新增下列文字:
this.control.content.findName("Pause").addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleClickPause));
如此即會新增此程式碼,只要按一下名為 [暫停]的 物件,名為 handleClickPause 的事件處理常式方法就會回應 MouseLeftButtonDown 事件。
您的程式碼後置檔案已包含名為 handleMouseDown 的範例事件處理常式方法。請注意,handleLoad 方法結尾的最後一個大括號 (}) 後面有一個逗號 (,),但是 handleMouseDown 方法的最後一個大括號後面沒有逗號。這是因為 handleMouseDown 是最後一個宣告的方法。當您新增方法時,請確定除了最後一個方法之外,每個方法的最後一個大括號後面都要有一個逗號。
新增下列事件處理常式方法 (最好是在 handleMouseDown 事件之前):
handleClickPause: function(sender, eventArgs) { sender.findName("MyVideo").pause(); },
當使用者在 [暫停] 物件內按一下滑鼠左鍵時,此方法就會回應並暫停媒體播放。
按 F5 測試 Silverlight 1.0 應用程式。按一下 [暫停] 物件,看看媒體播放是否會暫停。您可以選擇為 [播放] 及 [停止] 按鈕重複這些步驟。