EMBED 脚本音乐控制问题……

bzm 2003-09-04 10:27:22
<embed id="blankmusic" src="边走边爱.wma" autostart=true width=0 height=0 loop=true HIDDEN="true" MASTERSOUND></embed>

上面是一个 EMBED 标出的音乐

<a onclick="blankmusic.stop(); blankmusic.src="midi/天命最高.wma"; blankmusic.play()">Change</a>
这里想通过一个事件来改变音乐,不过,好像不行。不知哪位高手,详指一下

我的环境是 IE 6.0
------
...全文
185 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bzm 2003-09-04
  • 打赏
  • 举报
回复
实在不行, 我就散分了, 跟粘有分。。。。
bzm 2003-09-04
  • 打赏
  • 举报
回复
不会吧?? 那就是说, 还是不行了?

这可不好搞了。。
lshdic 2003-09-04
  • 打赏
  • 举报
回复
自己研究吧,除了你上述的功能及其他尖端功能无法实现以外,基本都实现了。

<html>
<!--摘自伟COOL网络-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>没有优化的播放器</title>
</head>

<body style="line-height: 150%" bgcolor="#4578AF">
<p align="center">
<script>
//---------这是区分播放器的音乐类型,你可以填加修改------//
var RS = new Array("rm","ram","mp3","ra","rt","rp","rmm","png","m3u","mp2","mpa");

//-----------播放器状态-------------//
var Rstate = new Array("停止","连接","缓冲","播放","暂停");


var player_doing = false;


function choose_player(sound_path)
{
sound_path = sound_path.split(".");

var sound_type = sound_path[sound_path.length-1].toLowerCase();

for(i=0;i<RS.length;i++)
{
if(sound_type==RS[i])
return "R"
}

return "U";
}

function Do_play()
{
var the_player = document.getElementById("player");

the_player.DoPlay();
}

function Do_pause()
{
var the_player = document.getElementById("player");

the_player.DoPause();
}

function Do_stop()
{
var the_player = document.getElementById("player");

the_player.DoStop();
}

function Set_position(num)
{
var the_player = document.getElementById("player");

the_player.SetPosition(num);
}

function Get_position()
{
var the_player = document.getElementById("player");

return the_player.GetPosition();
}

function Get_length()
{
var the_player = document.getElementById("player");

return the_player.GetLength();
}

function Set_volume(num)
{
var the_player = document.getElementById("player");

the_player.SetVolume(num);
}

function Show_time(num)
{
var time_minute = Math.floor( num / 60000 );
var time_second = Math.floor( ( num - time_minute*60000 ) / 1000 );


if( time_minute < 10 )
time_minute = "0" + time_minute;
if( time_second < 10 )
time_second = "0" + time_second;

return (time_minute + ":" +time_second);
}

function Get_state()
{
var the_player = document.getElementById("player");

return the_player.GetPlayState();
}


function player_play()
{
var just_type = choose_player(document.getElementById("sound_path").value);
var the_player = document.getElementById("player");

var the_state = Get_state();


if(the_state==1||the_state==2||the_state==3)
{
return;
}

if(the_state==4)
{
Do_play();
}

if(the_state==0)
{
if(just_type=="R")
{
Do_stop();
the_player.SetSource(document.getElementById("sound_path").value);
Do_play();

if(player_doing)
{
clearInterval(player_doing)
}

player_doing = setInterval("Set_all()",500);
}
}

}

function Set_all()
{
var the_player = document.getElementById("player");

document.getElementById("position_box").value = Show_time(Get_position());
document.getElementById("length_box").value = Show_time(Get_length());

document.getElementById("state_box").value = Rstate[Get_state()];

var the_max = (document.getElementById("position_button_box").offsetWidth - document.getElementById("position_button").offsetWidth);

document.getElementById("position_button").style.pixelLeft = Math.round(the_max*Get_position()/Get_length());

if(Get_state()==0)
{
clearInterval(player_doing);
}
}

function Go_direction(num)
{
var the_player = document.getElementById("player");

var the_state = Get_state();

if(the_state==3)
{
var the_direction = num*1000;

var judger = (Get_position() + the_direction)

if(judger>=0&&judger<=Get_length())
{
Set_position(judger);
}
}


}


var Ox,Nx;
var move_obj_can_move = false;
var move_obj = false;

function start_move()
{

move_obj_can_move = true;

move_obj = event.srcElement.id;

document.getElementById(move_obj).setCapture();

Ox = event.clientX;

}

function document.onmouseup()
{
if(!move_obj)
return;

document.getElementById(move_obj).releaseCapture();

move_obj_can_move = false;

move_obj = false;

}

function document.onmousemove()
{
if(!document.getElementById(move_obj))
{
return;
}

if(move_obj=="position_button"&&Get_state()!=3)
{
return;
}

Nx = event.clientX;

var judger = document.getElementById(move_obj).style.pixelLeft + Nx - Ox;


var max = document.getElementById(move_obj+"_box").offsetWidth - document.getElementById(move_obj).offsetWidth;

if(!move_obj_can_move||!move_obj||judger>max||judger<0)
{
return;
}

document.getElementById(move_obj).style.pixelLeft += Nx - Ox;

eval(move_obj+"_event("+document.getElementById(move_obj).style.pixelLeft+","+max+")");

Ox = Nx;

}

function volume_button_event(s_num,b_num)
{
var judger = Math.round(100*s_num/b_num)

if(judger>=0&&judger<=100)
{
Set_volume(judger)
}
}

function position_button_event(s_num,b_num)
{
var judger = Math.round(Get_length()*s_num/b_num);

if(judger>=0||judger<=Get_length())
{
Set_position(judger)
}
}
</script>
<embed type="audio/x-pn-realaudio-plugin" id="player" controls="ImageWindow,ControlPanel" width="234" height="183" border="0" >
<div align="center">
<center>
<table bgcolor="#000000" width="232">
<td width="233" valign="top">
<input bgcolor="#4578AF" type="button" value="播放" onclick="player_play()">
<input type="button" value="暂停" onclick="Do_pause()">
<input type="button" value="停止" onclick="Do_stop()">
<input type="button" value="倒退" onmousedown="Go_direction(-1)">
<input type="button" value="前进" onmousedown="Go_direction(1)">
<br>

<input type="file" id="sound_path" style="width: 227; height: 23" id="state_box">
 <br>

<input type="text" value="播放器状态" size="9" id="state_box" style="background-color: #000000; color: #0066FF" name="a">

<input type="text" value="播放时间" size="8" id="position_box" name="B" style="background-color: #000000; color:#3366FF"> <input type="text" value="曲目时间" size="8" id="length_box" name="C" style="background-color: #000000;color: #3366FF">


<div align="left">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td id="volume_button_box" width="100%" bgcolor="#FFFFFF">
<input id="volume_button" type="button" value="音量" style=" position: relative; left: 100; height: 18; width: 32; color: #3366FF" onmousedown="start_move()">
</td>
</tr>
</table>
</div>

<div align="left">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td id="position_button_box" width="100%" bgcolor="#3333CC">
<input id="position_button" type="button" value="NOW" style="position: relative; left: 0; height: 18; width: 32; color: #3366FF; font-weight: bold" onmousedown="start_move()">
</td>
</tr>
</table>
</div>
</table>
</center>
</div>
</body>

发布时间:2002-10-14 15:31:24,蓝丽技术论坛收录 http://www.lshdic.com/bbs
bzm 2003-09-04
  • 打赏
  • 举报
回复
能来看一下吗? 在线等中。。
bzm 2003-09-04
  • 打赏
  • 举报
回复
那不是很惨吗? 脚本也不能控制,换曲吗?
lshdic 2003-09-04
  • 打赏
  • 举报
回复
无法判断,用户终止\断线\正常完毕终止,似乎是无法区分的.
bzm 2003-09-04
  • 打赏
  • 举报
回复
啊~, 还有个问题 ,就是关于,如果一首歌完了,我想自动换一首,是否有什么 事件会触发, 如什么 blankmusic.OnEnd ... 之类的。。

我想一首歌完了,自动 换另一首。。

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧