我正在使用媒体播放器播放音频和视频。我正在创建自己的按钮来增加和减少媒体播放器的音量。工作也很好。
问题:
即使在达到0%音量后也能听到声音。如果播放器音量增加,系统音量也会增加。可能吗。如何实现这一任务。
控制:
<object id="mediaPlayer" classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"
height="1" standby="Loading Microsoft Windows Media Player components..."
type="application/x-oleobject" width="1">
<param name="fileName" value="" />
<param name="animationatStart" value="true" />
<param name="transparentatStart" value="true" />
<param name="autoStart" value="true" />
<param name="showControls" value="true" />
<param name="volume" value="70" />
</object>
代码:
function decAudio() {
if (document.mediaPlayer.Volume >= -1000) {
var newVolume = document.mediaPlayer.Volume - 100;
if (newVolume >= -1000) {
document.mediaPlayer.Volume = document.mediaPlayer.Volume - 100;
} else {
document.mediaPlayer.Volume = -1000;
}
}
}
答案 0 :(得分:5)
如果document.mediaPlayer.Volume
设置为0
后仍然可以听到音频,为什么不设置
document.mediaPlayer.Settings.mute = true
?
您还确定document.mediaPlayer.Settings.Volume
不是document.mediaPlayer.Volume
的正确引用吗?看起来你正试图直接访问参数/属性值,而不是通过mediaplayer的javascript(或jscript)接口。
这里有一些关于Windows Media Player 7及更高版本支持的“最重要”参数的一般参考:
obj = document.getElementById("mediaPlayer");
Code
Parameters
或默认值Description
obj.Settings.autoStart
true
obj.Settings.baseURL
ClosedCaption.captioningID
0
obj.Controls.currentMarker
0
obj.Controls.currentPosition
0
obj.Settings.defaultFrame
obj.enableContextMenu
true
obj.enabled
false
obj.fullScreen
false
obj.Settings.invokeURLs
true
obj.Settings.mute
false
obj.Settings.PlayCount
1
obj.Settings.rate
1.0
obj.stretchToFit
false
obj.uiMode
full
obj.URL
obj.Settings.volume
obj.Settings.balance
false
obj.windowlessVideo
false
答案 1 :(得分:0)
[编辑:删除对代码的引用]
不是我之前使用过MediaPlayer,而是为什么会出现这样的负值?根据{{3}}
来源,卷应该在0-100之间?这是完全具有吸引力的。
但是当你在媒体播放器中有内置的音量控制时,为什么要尝试在javascript代码中执行此操作?