我正在使用媒体播放器播放音频和视频。我正在创建自己的按钮,以增加和减少媒体播放器的音量。工作也很好。
问题:
控制:
<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;
}
}
}
最佳答案
如果将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
0.5等于正常播放速度的一半,2等于两倍。
obj.stretchToFit
false
obj.uiMode
full
可能的值:不可见,无,迷你,满。
obj.URL
您可以指定本地文件名或URL。
obj.Settings.volume
obj.Settings.balance
false
obj.windowlessVideo
false
当windowlessVideo设置为true时,Player控件直接在客户区中呈现视频,因此您可以应用特殊效果或使用文本对视频进行分层。
Windows XP或更高版本的Windows Media Player支持。
关于asp.net - 如何使用JavaScript控制系统音量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2407002/