<html>
<head>
<script language="JavaScript"  type="text/javascript">
var state;

//初始化
function playerinit()
{
 player.url="music/beyond.mp3";
 player.settings.autoStart = false ;
}

//播放
function play()
{
 if (player.controls.isavailable('play'))
 {
  player.controls.play();
  state=setInterval("updatetime()",1000);
  playerinfo.innerHTML = "播放";
 }
}

//暂停
function pause()
{
 if (player.controls.isavailable('pause'))
 {
  player.controls.pause();
  clearInterval(state);
  playerinfo.innerHTML = "暂停";
 }
}

//停止
function stop()
{
 if (player.controls.isavailable('stop'))
 {
  player.controls.stop();
  clearInterval(state);
  playerinfo.innerHTML = "停止";
 }
}

//前首
function previous()
{
 if (player.controls.isavailable( 'previous' ))
 {
  player.controls.previous();
  playerinfo.innerHTML = "前一首";
 }
}

//后首
function next()
{
 if (player.controls.isavailable( 'next' ))
 {
  player.controls.next();
  playerinfo.innerHTML = "下一首";
 }
}

//?
function step()
{
 if (player.controls.isavailable( 'step' ))
 player.controls.step( 1 );
}

//音量-
function voldown()
{
 if ( player.settings.volume < 5 )
 {
  player.settings.volume = 0;
  playerinfo.innerHTML = "0";
 }
 else
 {
  player.settings.volume -= 5;
  playerinfo.innerHTML = player.settings.volume;
 }
}

//音量+
function volup()
{
 if ( player.settings.volume > 95 )
 {
  player.settings.volume = 100;
  playerinfo.innerHTML = "100";
 }
 else
 {
  player.settings.volume += 5;
  playerinfo.innerHTML = player.settings.volume;
 }
}

//静音
function mute()
{
 player.settings.mute = !player.settings.mute;
}

//声道
function balance()
{
 switch (player.settings.balance)
 {
  case 0:
   player.settings.balance = 100;
   playerinfo.innerHTML = '左声道';
   break;
  case 100:
   player.settings.balance = -100;
   playerinfo.innerHTML = '右声道';
   break;
  case -100:
   player.settings.balance = 0;
   playerinfo.innerHTML = '全声道';
   break;
  default :
   player.settings.balance = 0;
   playerinfo.innerHTML = '全声道';
   break;
 }
}

//更新时间
function updatetime()
{
 playerinfo.innerHTML = player.controls.currentPositionString + " | " + player.currentMedia.durationString;
}

</script>
</head>
<body onload="playerinit();">
<table width="300">
  <tr>
    <td><object ;
}
</script>

</body>
</html>

javascript控制realplayer对象使用

转自:http://hi.baidu.com/thangou/blog/item/72a1de5d910bd84afbf2c0ad.html

<object ID="javademo" CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" HEIGHT="280" WIDTH="200">
<param name="AUTOSTART" value="0">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="0">
<param name="SRC" value="http://www.blog.com.cn/yy.wma">
<param name="CONTROLS" value="ImageWindow">
<param name="CONSOLE" value="Clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object>

//控制开始
<input type=button value=play onclick="javademo.DoPlay()">
<input type=button value=pause onclick="javademo.DoPause()">
   <input type=button value=stop onclick="javademo.DoStop()">
REAL PLAYER控制
player.DoPlay() 播放
player.DoPause() 暂停
player.DoStop() 停止
player.GetLength() 返回播放文件的总长度(以毫秒为单位)
player.GetPosition() 返回播放文件的当前时间位置(以毫秒为单位)
player.GetPlayState() 返回播放器状态(0:停止,1:连接,2:缓冲,3:播放,4:暂停,5:寻找)
player.SetPosition(n) 时间位置跳到n的地方(n取值以毫秒为单位)
player.SetVolume(n) 设置音量(n取值为0到100)
player.SetMute(s) 静音(s取值为true和false)
player.SetFullScreen() 全屏
player.setSource() 设置文件来源
media player控制
player.controls.play(); 播放
player.controls.stop(); 停止
player.controls.pause(); 暂停
player.controls.currentPosition 返回播放文件的当前时间位置(以秒为单位)
player.controls.currentPositionString 时间格式的字符串 "0:32"
player.currentMedia.duration 返回播放文件的总长度(以秒为单位)
player.currentMedia.durationString 时间格式的字符串 "4:34"
player.settings.volume 音量 (0-100)
player.settings.balance 声道,通过它应该可以进行立体声、左声道、右声道的控制。但对应的取值尚不清楚。
player.settings.mute = s 静音(s取值为true和false)
player.closedCaption.CaptioningID 网页中出现字幕的容器的ID
player.closedCaption.SAMIFileName 字幕文件地址
player.playState 返回播放器状态( 3:正在播放,2:暂停1:已停止)
属性
all
显示全部功能表
controlpanel
显示控制面版
infovolumepanel
显示声音面版
infopanel
显示信息面版
statusbar
显示状态列
playbutton
显示开始钮
stopbutton
显示停止钮
volumeslider
显示声音调整按钮
posititonslider
显示位置调整按钮
positionfield
显示位置区
statusfield
显示状态列
src
声音来源位置
autostart
是否自动播放
nolabels
是否显示title、author与coptright等信息
autogotourl
是否自动传送url事件
方法
aboutbox
显示about对话框
canplaypause
是否可以暂停、重播
canstop
是否能停止realaudio
doplaypause
设定播放或暂停
dostop
停止播放
donextitem
播放下一个声音文件
doprevitem
播放上一个声音文件
editpreferences
开启设定的对话框
hasnextitem
检查是否有下一个声音文件
hasprevitem
检查是否有上一个声音文件
hideshowstatistics
设定开启或关闭连线统计的对话框
isstatisticsvisible
检查是否已开启连线统计的对话框
dogotourl
载入设定的的realaudio声音文件
事件
onclipopened
开启realaudio声音文件时触发的事件
onclipclosed
关闭realaudio声音文件时触发的事件
onshowstatus
状态列文字改变时触发的事件
ongotourl
播放音效时,遇到url事件时,触发的事件
默认0为否,-11为是)
<object class value>
<!--字幕ID-->
</object>

除了监测 PlayState 的状态能知道歌曲是否播放完成,还有没有其他方法!!

PlayState 的值
1=停止
2=暂停中
3=正在播放
4=向前搜索
5=向后搜索
6=缓冲中
7=等待中
8=播放完毕
9=转换曲目
10=准备就绪
[color=Red][size=5][b]在什么情况下播放状态会等于8[/b][/size][/color]
[code]<object >播放状态</a>[/code]
![code]<object >.playState;
</script>[/code]
可以用 EndOfStream 事件   这个是在播放完之后触发的
除了用 EVENT="PlayStateChange",可不可以直接在 OBJECT里面写 onPlayStateChange 之类的
这个 FOR 和 EVENT的写法FF下面好像有点问题
color=Magenta][size=6][b]不是,我没有生气,我是以为我的问题表达不清楚,才用大红显示的,还有,EndOfStream这个东西不能执行呀[/b][/size][/color]

[code]<object )
</script>[/code]
6.4以上的控件的这个事件好象被去掉了

用 clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95
[code]
<object class)
</script>
[/code]
如果你是要做连播的话
可以把歌放进 currentPlaylist

相关文章:

  • 2021-06-13
  • 2021-08-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
  • 2021-09-06
猜你喜欢
  • 2022-12-23
  • 2021-07-04
  • 2021-08-08
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
相关资源
相似解决方案