6

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

问题:

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

2 回答 2

6

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
    • 指定媒体项目将播放的次数。最小值为一。
  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 时,播放器控件直接在客户区渲染视频,因此您可以应用特殊效果或将视频与文本分层。适用于 Windows XP 或更高版本的 Windows Media Player 支持。
于 2010-03-10T09:21:32.917 回答
0

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

不是我以前用过 MediaPlayer,而是为什么会有这样的负值?据此_

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

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

于 2010-03-09T07:36:09.317 回答