有loop和autostart
loop指定为2
autostart指定为true试试
loop指定为2
autostart指定为true试试
解决方案 »
- js load xml文件很慢怎么处理好
- ajax get 中文参数的时候为什么需要转码
- js获取iframe的id
- 求大神jquery获取<ul><li><a></a></li></ul>值问题
- 如何统一设置 TR 中字体颜色
- del一位或者全部?
- 倒计时程序的问题
- ajax中的 open和send有啥区别呢
- 使用ajaxSubmit提交带有文本编辑器的表单,字数一多就执行error,该怎么解决
- 为什么使用ES6语法import和export会一直报错?
- bootstrap 自带javascript控件如何绑定到document
- 本人js不是很精通,可以说是白菜,请高人指点。---------我想实现鼠标定位追踪显示的效果。
var em = document.createElement("embed");
em.autostart = true;
em.loop = iloop;
em.width = "1";
em.height = "1";
em.src = strURL + '.mp3';
document.documentElement.appendChild(em);
}下面的调用都是只播放一遍:
<input type="button" value="L" onclick="openplay('mp3/01',1);" />
<input type="button" value="R" onclick="openplay('mp3/01',2);"/>
http://baike.baidu.com/view/678116.htm
<object id="wmPlayer" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112" type="application\/x-oleobject" standby="正在加载播放器">
……
……</object>
在它下面多写一行
<script type="text/javascript" event="playStateChange(ps)" for="wmPlayer"> evtPSChg(ps); </script>然后你就可以自己定义一个evtPSChg,例如:
function evtPSChg(ps){
/*
0 播放已经停止(mpStopped)
1 播放暂停(mpPaused )
2 正在播放(mpPlaying)
3 正在等待流开始(mpWaiting)
4 向前搜索(mpScanForward)
5 向后搜索(mpScanReverse)
6 向前跳跃(mpSkipForward)
7 向后跳跃(mpSkipReverse)
8 流已经关闭(mpClosed)
*/
switch(ps){
case 8:
/*
这里就是当前已经播放完成了
你可以在播放每段mp3之前,先使用类似于cookie或存储于某个对象当中的方式保存当前mp3的已播放次数
每播放完一次+1,初始值为0,如果你预设的是每段播放两次,但已经播放过的次数小于2,就重新播放
*/
break;
}
}在使用的播放器代码与上面提供的一致的前提下,IE中这么操作是绝对可行的。就这么个思路,仅供参考
上面这段是写在播放器上面还是下面记不太清楚了,不知道有没有区别,你可以自己试一下
function openPlay2(strURL, iloop) {
document.player.playCount = "2"; //iloop 不起效
document.player.URL = "mp3/Err.mp3";
document.player.controls.play();
}<object width="400" height="64" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"
codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft Windows Media Player components..."
type="application/x-oleobject" hspace="5" id="player">
<param name="autostart" value="false" />
<param name="showstatusbar" value="true" />
<param name="showtracker" value="true" />
<param name="showcontrols" value="true" />
</object>
<input type="button" value="W" onclick="openPlay2('mp3/Err',2);" />
如果初始化页面,直接在<object>里加一条标签
<param name="playCount" value="2" />却是可以放2遍的:<object width="400" height="64" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"
codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft Windows Media Player components..."
type="application/x-oleobject" hspace="5" id="player">
<param name="autostart" value="false" />
<param name="showstatusbar" value="true" />
<param name="showtracker" value="true" />
<param name="showcontrols" value="true" />
<param name="playCount" value="2" />
</object>
试试:将playCount改成了PlayCount,大小写问题
document.player.PlayCount = "2"; //iloop 不起效按理来说,上面的代理应该可以解决你的问题了.如果不行,你不妨再去找找Media Player控制器方面的东西.
实在不行,那不做过多考虑的前提下,给你一个最最最暴力的方法点击按钮时,重构播放器,该播放一次的