我已经嵌入了一些视频,如果点击链接我需要显示这些视频。所以我想做的是点击一个链接,它会显示一个视频,用户可以点击播放。如果他们单击另一个链接,则之前的视频将停止播放并显示新视频。我当前的 HTML 结构是:
<div>
<ul>
<li><a onclick="ShowVideo(0);" href="javascript:void(0);" class="CalltrackLink">Missed Opportunities</a></li>
<li><a onclick="ShowVideo(1);" href="javascript:void(0);" class="CalltrackLink">Create User</a></li>
</ul>
</div>
<div>
<div id="Video1Div" style="display:none">
<OBJECT id="Video1" width="640" height="480"
STANDBY="Loading Windows Media Player components..."
CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"
type="application/x-oleobject">
<PARAM NAME="URL" VALUE="Video1.mp4" />
<PARAM NAME="SendPlayStateChangeEvents" VALUE="True" />
<PARAM NAME="AutoStart" VALUE="False" />
<PARAM NAME="ShowControls" value="True" />
</OBJECT>
</div>
<div id="Video2Div" style="display:none">
<OBJECT id="Video2" width="640" height="480"
STANDBY="Loading Windows Media Player components..."
CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"
type="application/x-oleobject">
<PARAM NAME="URL" VALUE="Video2.mp4" />
<PARAM NAME="SendPlayStateChangeEvents" VALUE="True" />
<PARAM NAME="AutoStart" VALUE="False" />
<PARAM NAME="ShowControls" value="True" />
</OBJECT>
</div>
</div>
我从互联网上的各种来源获得了以下 javascript:
function ShowCalltrack(i) {
$('#Video1Div').hide();
$('#Video2Div').hide();
document.getElementById("Video1Div").controls.stop();
document.getElementById("Video2Div").controls.stop();
if(i == 0)
{
$('#Video1Div').show();
}
else if(i == 1)
{
$('#Video2Div').show();
}
}
当我运行它时出现错误:
Unable to get value of the property 'stop': object is null or undefined
如果我删除有问题的代码,那么当用户单击另一个链接时,如果用户没有手动停止视频,之前的视频仍会播放,并且您可以听到音频。
我可以使用以下代码停止之前的视频:
var Video1 = document.getElementById("Video1Div");
var Video1Text = Video1.innerHTML;
Video1.innerHTML = '';
Video1.innerHTML = Video1Text;
这确实会阻止视频播放,但是,问题在于,如果您返回到之前打开的链接,视频将从之前中断的地方继续播放,我需要重新开始从一开始。
有什么想法吗?
最佳答案
您寻址 DIV 元素,而不是具有 ID Video1
的控件;
var Wmp = document.getElementById("Video1");
if (Wmp.controls.isAvailable('Stop'))
Wmp.controls.stop();
关于javascript - 使用javascript控制嵌入式windows media player,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7553381/