一个郁闷了一天的小问题-----兼散分

BoyPlusPlus 2004-04-09 11:24:55
做了一个FLASH按钮来控制mediaplay
以下是网页部分代码

function VolDn()
{ // 增音
var ps = Player.settings;
if(ps.mute == true){ps.mute = false;return;}
else{
if (ps.volume <= 30){ ps.volume =0;}
else{ps.volume = ps.volume - 30;}

}

}

function VolUp()
{ //减音
var ps = Player.settings;
if(ps.mute == true){ps.mute = false;return;}
else{
if (ps.volume >= (100-30)) {ps.volume = 100;}
else { ps.volume = ps.volume + 30;}

}

}
function playerPlay(){
Player.URL="mms://202.95.107.151/pggame">
}

function playerStop(){

if(Player.status!="准备就绪")
Player.controls.stop();
else return;
}
---------
mediaplay 代码


<OBJECT ID=Player CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"type="application/x-oleobject" Standby="Loading.... Microsoft Windows Media Player"
width="0" height="0" style="position:absolute;left:0px; top:0px;">
<PARAM NAME="URL" VALUE="mms://202.95.107.151/pggame">
<PARAM NAME="rate" VALUE="1">
<PARAM NAME="balance" VALUE="0">
<PARAM NAME="currentPosition" VALUE="0">
<PARAM NAME="defaultFrame" VALUE="">
<PARAM NAME="playCount" VALUE="1">
<PARAM NAME="autoStart" VALUE="1">
<PARAM NAME="currentMarker" VALUE="0">
<PARAM NAME="invokeURLs" VALUE="-1">
<PARAM NAME="baseURL" VALUE="">
<PARAM NAME="volume" VALUE="100">
<PARAM NAME="mute" VALUE="0">
<PARAM NAME="uiMode" VALUE="full">
<PARAM NAME="stretchToFit" VALUE="0">
<PARAM NAME="windowlessVideo" VALUE="0">
<PARAM NAME="enabled" VALUE="-1">
<PARAM NAME="enableContextMenu" VALUE="0">
<PARAM NAME="fullScreen" VALUE="0">
<PARAM NAME="SAMIStyle" VALUE="">
<PARAM NAME="SAMILang" VALUE="">
<PARAM NAME="SAMIFilename" VALUE="">
<PARAM NAME="captioningID" VALUE="">
</OBJECT>
-------------------
以上代码 用HTML按钮控制都无问题。

flash用简单的命令控制。

b1.onRelease=function(){
getURL("javascript:VolUp()");
}
bt2.onRelease=function(){
getURL("javascript:VolDn()");
b3.onRelease=function(){
getURL("javascript:playerPlay()");
}
bt4.onRelease=function(){
getURL("javascript:playerStop()");
-------------
播放和停止都能用,但一用增音和减音,播放器就会停止。百思不得其解,
烦有空高手给解决一下,高分送上。
怎么现实增声减音。
...全文
28 点赞 收藏 20
写回复
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiagao 2004-04-12
问题解决没?
回复
jiagao 2004-04-12
^_^,问题解决了。高高兴兴回家去。
回复
BoyPlusPlus 2004-04-12
哈哈,真巧,我也是刚才实在没办法了,就把它写到另一个块里就好使了,
英雄所见略同。。。。(没人听见吧:)。
回复
jiagao 2004-04-12
简单看了看,帮你修改了一下。VBScript的问题。帮你把JavaScript中的一段代码拿出来,就好使了。

JavaScript中的这个代码提出去
// Internet Explorer 的挂钩
if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
document.write('<script language=\"VBScript\"\>\n');
document.write('On Error Resume Next\n');
document.write('Sub FlashControl_FSCommand(ByVal command, ByVal args)\n');
document.write(' Call FlashControl_DoFSCommand(command, args)\n');
document.write('End Sub\n');
document.write('</script\>\n');
}


<script language="VBScript">
On Error Resume Next
Sub FlashControl_FSCommand(ByVal command, ByVal args)
Call FlashControl_DoFSCommand(command, args)
End Sub
</script>

就好用了,试试吧,有问题再给我留言。
回复
BoyPlusPlus 2004-04-12
还是没找到简单方法,我现在试图将这部分改成静态面页,加在框架中,但这样会使我的页面很难写,因为主页面本来就好几个框架了。
回复
roclll 2004-04-10
期待中。。。。
回复
jiagao 2004-04-10
应该没问题的,之前在jsp用这个的fscommand都没出事情。
回复
BoyPlusPlus 2004-04-10
谢谢
jiagao(http://eccool.com)
但这种方法也有点缺点。
因为这种方法,好像只限html。
如果是asp的话,就会出现

Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

Active Server Pages 错误 'ASP 0138'

嵌套的 Script 块

/console/new/hdimg/test.asp,行20

Script 块不能放在另一个 Script 块内。

这种错误,实在不行的话,只能把这部分改成静态页了。
回复
etzrp 2004-04-10
有点自卑啊!
回复
weini25 2004-04-10
很厉害啊,向你们学习!
回复
good_sun 2004-04-10
gz
学习...
mark
回复
jiagao 2004-04-10
有点忙,简单写一下吧。有问题再与我联系。

使用fscommand传递命令,不要用javascript。
即在Flash中,
b1.onRelease=function(){
fscommand("VolUp");
}
在HTML中,在你现有的Javascript基础上添加
var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
// 处理 Flash 影片中的所有 FSCommand 消息
function FlashControl_DoFSCommand(command, args) {
var FlashControl = isInternetExplorer ? document.all.FlashControl : document.FlashControl;
// 代码放在此处。
eval(command)();
}
// Internet Explorer 的挂钩
if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
document.write('<script language=\"VBScript\"\>\n');
document.write('On Error Resume Next\n');
document.write('Sub FlashControl_FSCommand(ByVal command, ByVal args)\n');
document.write(' Call FlashControl_DoFSCommand(command, args)\n');
document.write('End Sub\n');
document.write('</script\>\n');
}

以上FlashControl为嵌入HTML中的Flash Object id
回复
qingyuan18 2004-04-09
晕,我一年多了连flash的xml都还没研究,楼主真是强人啊,请多关照!!
回复
lhl62301 2004-04-09
up
回复
BoyPlusPlus 2004-04-09
或给出相关例子。
回复
haolin 2004-04-09
正在学习,还请多关照
回复
BoyPlusPlus 2004-04-09
好的,我怀疑也是控件冲突。
关键是对IE窗体对它们的处理细节不熟细。
比如,用flash弹出一个窗口时,当你没点击确定时,会出现等待状态。(指针带个漏斗)。

估计,是用activeX控件,调用javascript时,可能ie还要返回一个消息给控件。

不管什么原因,好先能用再说:)
谢谢你了
回复
jiagao 2004-04-09
对JavaScript理解不是很深刻,具体原因也不好说,可能是mediaplay Object和Flash Object冲突、也有可能是JavaScript执行的问题。

我帮修改了一下,已经可以了。现在急着回去,等晚上或者明天贴出来给你。
回复
BoyPlusPlus 2004-04-09
我倒。。。¥%%%%%#@
回复
axistru 2004-04-09
多关照
回复
发动态
发帖子
Flash流媒体开发
创建于2007-09-28

2245

社区成员

多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
申请成为版主
社区公告
暂无公告