在上一篇,我们了解了如何在Silverlight的Out of browser模式下进行Debug调试,另外学习Silverlight OOB应用的一个新特性Notifications窗口。本篇,我们将结合以往的Out of browser特性,创建一款新的Out of browser实例, 音乐播放器。 该实例目的比较简单,实现音乐播放,实现音乐文件列表读取,实现音乐文件信息读取,另外音乐播放自动跳转等功能。
在实例开始前,我们仍旧需要了解一些基础知识。Silverlight对音频的支持是使用MediaElement类,该类使用方法非常简单,该类的详细解释,请看MSDN
2 x:Name ="media"
3 Source ="xBox.wmv" 4 CurrentStateChanged ="media_state_changed" 5 Width ="300" Height ="300" />
在了解了音频播放类的简单使用后,让我们先看看项目完成后的效果图,
从上面效果图中可以看出整个实例项目UI分5个部分,
1. 音频控制部分,这部分是实例主要功能;
2. 音频文件信息部分,这部分是获取显示当前和下一首音乐文件信息;
3. 唱片图片信息,其实这部分也是属于音频文件信息,不过这里单独列出来,使用独立的类进行处理;
4. 音频文件列表,该列表是载入My Music目录中的音乐文件,并支持用户选择播放功能;
5. UI控制,该部分可以使播放器进入最小化状态。例如:
下面我们开始分别解释以上几个部分的实例设计方法。
我们仍旧使用SilverlightOOBDemo项目,不过为了使代码更清晰易读,这次不再使用OutofbrowserMainPage作为OOB应用主界面,我们重新创建一个新的OOB应用界面OutofbrowserMusicPlayer。
为了修改启动页面为OutofbrowserMusicPlayer,为此,我们需要修改App.xaml中的启动页面代码:
1
private
void
Application_Startup(
object
sender, StartupEventArgs e)
2
{
3
if
(
!
Application.Current.IsRunningOutOfbrowser)
4
{
5
this
.RootVisual
=
new
MainPage();
6
}
7
else
8
9
//
this.RootVisual = new OutofbrowserMainPage();
10
OutofbrowserMusicPlayer();
11
12
13
}