积极答复者
silverlight 播放器

问题
-
大家好,这里有一个播放器代码,如下:
<MediaElement Height="236" AutoPlay="True" Stretch="Fill" IsMuted="False" Volume="1" Source="D:\\music.wma" HorizontalAlignment="Left" Margin="35,37,0,0" Name="mediaElement1" VerticalAlignment="Top" Width="331" />
进行了一系列属性的设置,但是,就是没有反应,请问,那里有问题?
谢谢!<最好是可以再源码上进行改正!>
2010年7月19日 4:02
答案
-
其实,这段代码中,最重要的是Source,在Silverlight3.0中,我们确实不能浏览本地文件,最多的,只能得到本地文件的名称,我曾经也尝试过利用这段代码:Source="music.wma",但是,失败了。
其他的不变,将Source的值设置成Source="/MediaPlayer;component/music.mp3",这样,就可以了。
其中,/MediaPlayer是项目名称,component是固定的格式,后面的/music.mp3是文件地址,如果,将这个音频文件放在了文件夹中,适当的添加路径就可以了。
这个方式我用过,可以成功的读取音频文件以及视频文件。
但是,我这里也有一个疑问:当我在后台代码中设置这个属性的时候,会出现错误。代码是这样的:
string musicName="这个地方时传过来的音频文件的名称";//我想做成动态的播放器
string musciPath="/MediaPlayer;component/"+musicName;
Uri uri=new Uri(path);//代码会在这个地方出错,没有报异常,只是,出现了调试的界面,但是,如果我将代码改为:Uri uri=new Uri("D:\\music.mp3")不会出错,但是,音频文件不能加载进来。
this.musicPlayer.Source=uri;
this.musicPlayer.Play();
请问,如果我想把这个播放器做成动态的,这个地方应该怎么解决?
谢谢!
- 已建议为答案 Weng Yuli 2010年7月22日 4:37
- 已标记为答案 Min-Hong Tang - MSFT 2010年7月26日 3:11
2010年7月21日 0:32 -
你指的是动态读取文件路径吗 WCF提供服务 再赋值给player
stay hungry stay foolish- 已标记为答案 Min-Hong Tang - MSFT 2010年7月26日 3:11
2010年7月22日 4:38
全部回复
-
大家好,这里有一个播放器代码,如下:
<MediaElement Height="236" AutoPlay="True" Stretch="Fill" IsMuted="False" Volume="1" Source="D:\\music.wma" HorizontalAlignment="Left" Margin="35,37,0,0" Name="mediaElement1" VerticalAlignment="Top" Width="331" />
进行了一系列属性的设置,但是,就是没有反应,请问,那里有问题?
谢谢!<最好是可以再源码上进行改正!>
Silverlight作为客户端插件没有权限读取本地目录。你可以将该音乐文件放在Web目录下,然后使用下面代码就可以了
<MediaElement Height="236" AutoPlay="True" Stretch="Fill" IsMuted="False" Volume="1" Source="music.wma" HorizontalAlignment="Left" Margin="35,37,0,0" Name="mediaElement1" VerticalAlignment="Top" Width="331" />2010年7月20日 17:31 -
其实,这段代码中,最重要的是Source,在Silverlight3.0中,我们确实不能浏览本地文件,最多的,只能得到本地文件的名称,我曾经也尝试过利用这段代码:Source="music.wma",但是,失败了。
其他的不变,将Source的值设置成Source="/MediaPlayer;component/music.mp3",这样,就可以了。
其中,/MediaPlayer是项目名称,component是固定的格式,后面的/music.mp3是文件地址,如果,将这个音频文件放在了文件夹中,适当的添加路径就可以了。
这个方式我用过,可以成功的读取音频文件以及视频文件。
但是,我这里也有一个疑问:当我在后台代码中设置这个属性的时候,会出现错误。代码是这样的:
string musicName="这个地方时传过来的音频文件的名称";//我想做成动态的播放器
string musciPath="/MediaPlayer;component/"+musicName;
Uri uri=new Uri(path);//代码会在这个地方出错,没有报异常,只是,出现了调试的界面,但是,如果我将代码改为:Uri uri=new Uri("D:\\music.mp3")不会出错,但是,音频文件不能加载进来。
this.musicPlayer.Source=uri;
this.musicPlayer.Play();
请问,如果我想把这个播放器做成动态的,这个地方应该怎么解决?
谢谢!
- 已建议为答案 Weng Yuli 2010年7月22日 4:37
- 已标记为答案 Min-Hong Tang - MSFT 2010年7月26日 3:11
2010年7月21日 0:32 -
你指的是动态读取文件路径吗 WCF提供服务 再赋值给player
stay hungry stay foolish- 已标记为答案 Min-Hong Tang - MSFT 2010年7月26日 3:11
2010年7月22日 4:38