如何使用javascript控制系统音量

时间:2010-03-09 06:10:00

标签: asp.net javascript windows-media-player

我正在使用媒体播放器播放音频和视频。我正在创建自己的按钮来增加和减少媒体播放器的音量。工作也很好。

问题:

  

即使在达到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;
        }
    } 
}

2 个答案:

答案 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");

  1. Code
    • Parameters或默认值
    • Description
  2. obj.Settings.autoStart
    • true
    • 指定或检索一个值,该值指示当前媒体项是否开始自动播放。
  3. obj.Settings.baseURL
    • -
    • 使用嵌入在媒体项中的URL脚本命令指定用于相对路径解析的基本URL。
  4. ClosedCaption.captioningID
    • 0
    • 指定显示字幕的元素的名称。
  5. obj.Controls.currentMarker
    • 0
    • 指定当前标记号。
  6. obj.Controls.currentPosition
    • 0
    • 以秒为单位指定媒体项目中的当前位置。
  7. obj.Settings.defaultFrame
    • -
    • 指定用于显示网址的框架的名称。
  8. obj.enableContextMenu
    • true
    • 指定一个值,该值指示是否启用上下文菜单,单击鼠标右键时会显示该菜单。
  9. obj.enabled
    • false
    • 指定是否启用Windows Media Player控件。
  10. obj.fullScreen
    • false
    • 指定是否以全屏模式播放视频内容。
  11. obj.Settings.invokeURLs
    • true
    • 指定一个值,指示URL事件是否应启动Web浏览器。
  12. obj.Settings.mute
    • false
    • 指定音频是否静音。
  13. obj.Settings.PlayCount
    • 1
    • 指定媒体项目的播放次数。最小值为1。
  14. obj.Settings.rate
    • 1.0
    • 指定播放速率。 0.5等于正常播放速度的一半,2等于两倍。
  15. obj.stretchToFit
    • false
    • 指定当视频窗口大于视频图像的尺寸时,控件显示的视频是否自动调整大小以适合视频窗口。
  16. obj.uiMode
    • full
    • 指定在用户界面中显示哪些控件。 可能的值:不可见,无,迷你,满。
  17. obj.URL
    • -
    • 指定要播放的媒体项的名称。 您可以指定本地文件名或URL。
  18. obj.Settings.volume
    • 上次设置
    • 零指定无音量,100指定全音量。
  19. obj.Settings.balance
    • false
    • 在左右扬声器之间设置平衡。 0是正常的,-100是全左,100是正右。
  20. obj.windowlessVideo
    • false
    • 指定或检索一个值,该值指示Windows Media Player控件是否以无窗口模式呈现视频。 当windowlessVideo设置为true时,Player控件直接在客户区域中呈现视频,因此您可以应用特殊效果或使用文本对视频进行分层。 受Windows Media Player for Windows XP或更高版本支持。

答案 1 :(得分:0)

[编辑:删除对代码的引用]

不是我之前使用过MediaPlayer,而是为什么会出现这样的负值?根据{{​​3}}

来源,卷应该在0-100之间?这是完全具有吸引力的。

但是当你在媒体播放器中有内置的音量控制时,为什么要尝试在javascript代码中执行此操作?