用javascrip设置silverlight mediaelement的播放时刻
2007-10-06 14:48
211 查看
这两天在用silverlight做一个媒体播放器,有两项基本功能要实现,即
1 显示当前播放时间
2 跳转到特定时间开始播放
经过查阅资料,实现上述功能可以用MediaElement的Position属性来实现。例如,用javascript获取当前播放时间可以写成这样
fuction GetTime(sender,arg)
{
var host = sender.getHost();
var mediaPlayer = Convert.ToMediaElement(host.content.findName('player));
var curPos = mediaPlayer .get_position();
var array = curPos.Seconds.toString().split('.',2);
var hour = parseInt(array[0]/ 3600);
var minutes = parseInt((array[0]% 3600) / 60);
var seconds = parseInt(array[0]% 60);
var milliseconds = array[1].substring(0,3);
//show time here....
}
上面代码中的Convert.ToMediaElement()方法是由Justin-Josef Angel 提供的intellisense,此处不多介绍。需要注意的是这一句:
curPos.Seconds.toString()
因为position返回的是timespan对象,并且只提供了一个Secondes属性,表示将整个时间换算成秒以后的值,因此只能通过该属性来计算其他时、分、毫秒。
同样,我们可以通过position来定位播放的新时刻:
fuction SetTime(sender,arg)
{
var host = sender.getHost();
var mediaPlayer = Convert.ToMediaElement(host.content.findName('player));
var newPos = "0.10:23:45.345";
mediaPlayer.set_position(newPos);
}
设置position时,并不能直接将一个timespan对象作为参数,例如
var pos = mediaPlayer.get_position();
mediaPlayer.set_position(pos);
执行时就会报错,原因是set_position只接受格式为 天.时:分:秒.毫秒 的字符串。
1 显示当前播放时间
2 跳转到特定时间开始播放
经过查阅资料,实现上述功能可以用MediaElement的Position属性来实现。例如,用javascript获取当前播放时间可以写成这样
fuction GetTime(sender,arg)
{
var host = sender.getHost();
var mediaPlayer = Convert.ToMediaElement(host.content.findName('player));
var curPos = mediaPlayer .get_position();
var array = curPos.Seconds.toString().split('.',2);
var hour = parseInt(array[0]/ 3600);
var minutes = parseInt((array[0]% 3600) / 60);
var seconds = parseInt(array[0]% 60);
var milliseconds = array[1].substring(0,3);
//show time here....
}
上面代码中的Convert.ToMediaElement()方法是由Justin-Josef Angel 提供的intellisense,此处不多介绍。需要注意的是这一句:
curPos.Seconds.toString()
因为position返回的是timespan对象,并且只提供了一个Secondes属性,表示将整个时间换算成秒以后的值,因此只能通过该属性来计算其他时、分、毫秒。
同样,我们可以通过position来定位播放的新时刻:
fuction SetTime(sender,arg)
{
var host = sender.getHost();
var mediaPlayer = Convert.ToMediaElement(host.content.findName('player));
var newPos = "0.10:23:45.345";
mediaPlayer.set_position(newPos);
}
设置position时,并不能直接将一个timespan对象作为参数,例如
var pos = mediaPlayer.get_position();
mediaPlayer.set_position(pos);
执行时就会报错,原因是set_position只接受格式为 天.时:分:秒.毫秒 的字符串。
相关文章推荐
- silverlight MediaElement创建之后不能播放解决办法
- Silverlight MediaElement创建之后不能播放解决办法
- silverlight MediaElement 控件读取FLV。mp4格式视频
- 在Silverlight中使用SmoothStreamingMediaElement创建Smooth Streaming播放器
- silverlight MediaElement截取当前帧
- 用Easy RealMedia Tools 转换成Moto E6 所能播放的视频参数设置
- Window media Play 组件播放视频 相关设置
- Spring MVC+MediaElement.js实现在WEB上播放MP4并支持拖移播放
- Silverlight杂记Media和SMF播放控件推荐
- WPF MediaElement 声音循环播放
- 利用WPF MediaElement去播放视频或者音乐
- Silverlight MediaElement 设定Source后停止自动下载
- 【wpf基础】wpf MediaElement全屏播放视频功能
- Android 超简单音乐播放器(十三)监听网络状态的变化,设置移动网络是否可以播放。
- 后台播放音乐时,设置手机铃声,后台音乐不会暂停
- ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件
- Android MediaPlayer详解视屏播放之VideoView(三)
- 使用dscaler在windows下播放电视的设置
- sharepoint 2010 如何使用sharepoint多媒体视频播放media webpart功能
- Silverlight:MouseDragElementBehavior无法应用于ListBox的变相解决办法