Media Player在Web应用中的一些要点
1.对本地播放列表的权限操作
设置之后就能对本地的播放列表进行添加删除操作了,不过会弹出一个安全提示框,说某某站点正对您要取得您本地播放列表的操作权限,
问你是否愿意.
MediaAccessRights有三个属性值 "none", "read", or "full" (read/write). 看字面就知道是做什么用的了.这里就不多说了
2.创建一个Meida对象
Player是已经定义好的MediaPlayer对象
3.创建当前播放列表
playlist是播放列表的名字.以后你可以通过这个名字找到这个播放列表
4.取得当前播放列表
index是播放列表的索引值,相当于一个数组的下标,从0开始
5.删除指定的播放列表
index定义同4
6.播放状态的检测
Play_state在网页中的定义:
下面是调用的方式
7.错误的检测
8.重要的一些属性
//播放器控制属性
controls.play; 播放
controls.pause; 暂停
controls.stop; 停止
controls.currentPosition:double; 当前进度
controls.currentPositionString:string; 当前进度,字符串格式。如“00:23”
controls.fastForward; 快进
controls.fastReverse; 快退
controls.next; 下一曲
controls.previous; 上一曲
*注:上一曲和下一曲属性一般不能使用,因为这种功能是对一个播放列表气作用的,而对于新版本的播放器,js脚本一般没有权限去新建和修改播放列表的。只能自己去设计一个播放列表,自己去修改url属性去选曲。
//播放器基本属性
settings.volume:integer; 音量,0-100
settings.autoStart:Boolean; 是否自动播放
settings.mute:Boolean; 是否静音
settings.playCount:integer; 播放次数
//当前播放媒体的属性
currentMedia.duration:double; 媒体总长度
currentMedia.durationString:string; 媒体总长度,字符串格式。如“03:24”
currentMedia.getItemInfo(const string); 获取当前媒体信息"Title"=媒体标题,"Author"=艺术家,"Copyright"=版权信息,"Description"=媒体内容描述,"Duration"=持续时间(秒),"FileSize"=文件大小,"FileType"=文件类型,"sourceURL"=原始地址
currentMedia.setItemInfo(const string); 通过属性名设置媒体信息
currentMedia.name:string; 同 currentMedia.getItemInfo("Title")
[currentPlaylist] wmp.currentPlaylist //当前播放列表属性
currentPlaylist.count:integer; 当前播放列表所包含媒体数
currentPlaylist.Item[integer]; 获取或设置指定项目媒体信息,其子属性同wmp.currentMedia
程序代码
function setMediaAccess(){
Player.settings.requestMediaAccessRights("full");
}
Player.settings.requestMediaAccessRights("full");
}
设置之后就能对本地的播放列表进行添加删除操作了,不过会弹出一个安全提示框,说某某站点正对您要取得您本地播放列表的操作权限,
问你是否愿意.
MediaAccessRights有三个属性值 "none", "read", or "full" (read/write). 看字面就知道是做什么用的了.这里就不多说了
2.创建一个Meida对象
程序代码
var media="2.mp3";
Player.newMedia(media);
Player.newMedia(media);
Player是已经定义好的MediaPlayer对象
3.创建当前播放列表
程序代码
Player.playlistCollection.newPlaylist("playlist");
playlist是播放列表的名字.以后你可以通过这个名字找到这个播放列表
4.取得当前播放列表
程序代码
Player.playlistCollection.getAll().item(index);
index是播放列表的索引值,相当于一个数组的下标,从0开始
5.删除指定的播放列表
程序代码
var playObj=Player.playlistCollection.getAll().item(index);
Player.playlistCollection.remove(playObj);
Player.playlistCollection.remove(playObj);
index定义同4
6.播放状态的检测
程序代码
var istart=0;
function chkStatus(){
var arg=arguments;
switch(arg[0]){
case 1:{
switch(arg[1]){
case 6:{
Play_state.innerText=" 断开连接";
break;
};
case 8:{
Play_state.innerText=" 同步读取出错";
break;
};
case 9:{
Play_state.innerText=" 正在定位媒体";
break;
};
case 10:{
Play_state.innerText=" 正在打开媒体";
break;
};
case 12:{
Play_state.innerText=" 正在打开媒体";
break;
};
case 13:{
Play_state.innerText=" 持续连接中";
break;
};
case 21:{
Play_state.innerText=" 打开未知地址";
break;
};
default:{
Play_state.innerText=arg[0]+":"+arg[1];
break;
};
};
break;
};
case 2:{
switch(arg[1]){
case 1:{
Play_state.innerText=" 已停止";
break;
};
case 2:{
Play_state.innerText=" 已暂停";
break;
};
case 3:{
if(istart==0)Play_state.innerText=" 开始播放";
else Play_state.innerText=" 正在播放";
istart=1-istart;
break;
};
case 6:{
Play_state.innerText=" 开始缓冲";
break;
};
case 8:{
Play_state.innerText=" 跳到下一首";
break;
};
case 9:{
Play_state.innerText=" 正在连接到媒体";
break;
};
case 10:{
Play_state.innerText=" 准备就绪 等待中";
break;
};
default:{
Play_state.innerText=arg[0]+":"+arg[1];
break;
};
};
break;
};
case 3:{
switch(arg[1].toString ().toLowerCase()){
case "true":{
Play_state.innerText=" 缓冲中";
break;
};
case "false":{
Play_state.innerText=" 缓冲完成";
break;
};
default:{
Play_state.innerText=arg[0]+":"+arg[1];
break;
};
};
break;
};
};
};
function chkStatus(){
var arg=arguments;
switch(arg[0]){
case 1:{
switch(arg[1]){
case 6:{
Play_state.innerText=" 断开连接";
break;
};
case 8:{
Play_state.innerText=" 同步读取出错";
break;
};
case 9:{
Play_state.innerText=" 正在定位媒体";
break;
};
case 10:{
Play_state.innerText=" 正在打开媒体";
break;
};
case 12:{
Play_state.innerText=" 正在打开媒体";
break;
};
case 13:{
Play_state.innerText=" 持续连接中";
break;
};
case 21:{
Play_state.innerText=" 打开未知地址";
break;
};
default:{
Play_state.innerText=arg[0]+":"+arg[1];
break;
};
};
break;
};
case 2:{
switch(arg[1]){
case 1:{
Play_state.innerText=" 已停止";
break;
};
case 2:{
Play_state.innerText=" 已暂停";
break;
};
case 3:{
if(istart==0)Play_state.innerText=" 开始播放";
else Play_state.innerText=" 正在播放";
istart=1-istart;
break;
};
case 6:{
Play_state.innerText=" 开始缓冲";
break;
};
case 8:{
Play_state.innerText=" 跳到下一首";
break;
};
case 9:{
Play_state.innerText=" 正在连接到媒体";
break;
};
case 10:{
Play_state.innerText=" 准备就绪 等待中";
break;
};
default:{
Play_state.innerText=arg[0]+":"+arg[1];
break;
};
};
break;
};
case 3:{
switch(arg[1].toString ().toLowerCase()){
case "true":{
Play_state.innerText=" 缓冲中";
break;
};
case "false":{
Play_state.innerText=" 缓冲完成";
break;
};
default:{
Play_state.innerText=arg[0]+":"+arg[1];
break;
};
};
break;
};
};
};
程序代码
<span id="Play_state"></span>
下面是调用的方式
程序代码
<SCRIPT language="JavaScript" type="text/JavaScript" event=openStateChange(lResult) for=Player>
chkStatus(1,lResult);
</SCRIPT>
<SCRIPT language="JavaScript" type="text/JavaScript" event=playStateChange(lResult) for=Player>
chkStatus(2,lResult);
</SCRIPT>
<SCRIPT language="JavaScript" type="text/JavaScript" event=Buffering(lResult) for=Player>
chkStatus(3,lResult);
</SCRIPT>
chkStatus(1,lResult);
</SCRIPT>
<SCRIPT language="JavaScript" type="text/JavaScript" event=playStateChange(lResult) for=Player>
chkStatus(2,lResult);
</SCRIPT>
<SCRIPT language="JavaScript" type="text/JavaScript" event=Buffering(lResult) for=Player>
chkStatus(3,lResult);
</SCRIPT>
7.错误的检测
程序代码
<SCRIPT language=javascript event=Error() for=Player>
if (Player.ErrorCode==-1072889837)
Play_state.value = "无法连接到服务器,可能是网络问题,请重试。";
if (Player.ErrorCode==-2147220992)
Play_state.value = "没有适当的解码器,请重试或安装新的微软播放器。";
if (Player.ErrorCode==-2147220945)
Play_state.value = "文件格式错,请通知我们,我们将尽快进行维修。";
if (Player.ErrorCode==-1072889830)
Play_state.value = "文件打不开,请通知我们,我们将尽快进行维修。";
if (Player.ErrorCode==-2146697211)
Play_state.value = "无法访问这个服务器,可能是代理服务器不可用。";
if (Player.ErrorCode==-1072887822)
Play_state.value = "无法连接到一个广播频道。";
</SCRIPT>
if (Player.ErrorCode==-1072889837)
Play_state.value = "无法连接到服务器,可能是网络问题,请重试。";
if (Player.ErrorCode==-2147220992)
Play_state.value = "没有适当的解码器,请重试或安装新的微软播放器。";
if (Player.ErrorCode==-2147220945)
Play_state.value = "文件格式错,请通知我们,我们将尽快进行维修。";
if (Player.ErrorCode==-1072889830)
Play_state.value = "文件打不开,请通知我们,我们将尽快进行维修。";
if (Player.ErrorCode==-2146697211)
Play_state.value = "无法访问这个服务器,可能是代理服务器不可用。";
if (Player.ErrorCode==-1072887822)
Play_state.value = "无法连接到一个广播频道。";
</SCRIPT>
8.重要的一些属性
//播放器控制属性
controls.play; 播放
controls.pause; 暂停
controls.stop; 停止
controls.currentPosition:double; 当前进度
controls.currentPositionString:string; 当前进度,字符串格式。如“00:23”
controls.fastForward; 快进
controls.fastReverse; 快退
controls.next; 下一曲
controls.previous; 上一曲
*注:上一曲和下一曲属性一般不能使用,因为这种功能是对一个播放列表气作用的,而对于新版本的播放器,js脚本一般没有权限去新建和修改播放列表的。只能自己去设计一个播放列表,自己去修改url属性去选曲。
//播放器基本属性
settings.volume:integer; 音量,0-100
settings.autoStart:Boolean; 是否自动播放
settings.mute:Boolean; 是否静音
settings.playCount:integer; 播放次数
//当前播放媒体的属性
currentMedia.duration:double; 媒体总长度
currentMedia.durationString:string; 媒体总长度,字符串格式。如“03:24”
currentMedia.getItemInfo(const string); 获取当前媒体信息"Title"=媒体标题,"Author"=艺术家,"Copyright"=版权信息,"Description"=媒体内容描述,"Duration"=持续时间(秒),"FileSize"=文件大小,"FileType"=文件类型,"sourceURL"=原始地址
currentMedia.setItemInfo(const string); 通过属性名设置媒体信息
currentMedia.name:string; 同 currentMedia.getItemInfo("Title")
[currentPlaylist] wmp.currentPlaylist //当前播放列表属性
currentPlaylist.count:integer; 当前播放列表所包含媒体数
currentPlaylist.Item[integer]; 获取或设置指定项目媒体信息,其子属性同wmp.currentMedia