【问题标题】:How to control the system volume using javascript如何使用javascript控制系统音量
【发布时间】:2011-01-25 07:21:58
【问题描述】:

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

问题:

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

【问题讨论】:

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


    【解决方案1】:

    如果将document.mediaPlayer.Volume 设置为0 后仍然可以听到音频,为什么不设置 document.mediaPlayer.Settings.mute = true?

    您还确定document.mediaPlayer.Settings.Volume 不是正确的引用而不是document.mediaPlayer.Volume?看起来您正在尝试直接访问参数/属性值,而不是通过媒体播放器的 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
      • -
      • 指定用于显示 URL 的框架名称。
    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
      • 指定在用户界面中显示哪些控件。 可能的值:invisible、none、mini、full。
    17. obj.URL
      • -
      • 指定要播放的媒体项目的名称。 您可以指定本地文件名或 URL。
    18. obj.Settings.volume
      • 上次设置
      • 0 表示无卷,100 表示满卷。
    19. obj.Settings.balance
      • false
      • 设置左右扬声器之间的平衡。 0 是相等的,-100 是全左,100 是全右。
    20. obj.windowlessVideo
      • false
      • 指定或检索一个值,该值指示 Windows Media Player 控件是否以无窗口模式呈现视频。 当 windowlessVideo 设置为 true 时,播放器控件直接在客户区渲染视频,因此您可以应用特殊效果或将视频与文本分层。 适用于 Windows XP 或更高版本的 Windows Media Player 支持。

    【讨论】:

      【解决方案2】:

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

      不是我以前用过MediaPlayer,但为什么会有这样的负值?根据this

      来源,音量应该在 0-100 之间??这是完全直观的。

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

      【讨论】:

        猜你喜欢
        • 2012-10-25
        • 1970-01-01
        • 2011-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多