【问题标题】:HTML5 Video VolumeHTML5 视频量
【发布时间】:2011-02-05 20:22:47
【问题描述】:

我目前正在开发一个 HTML5 视频播放器,我可以让它在任何地方都可以正常工作,除了在 iPad 上。 基本上,我可以控制一切,除了声音,我有一个 mute 按钮,它在 Mac OS 上的 Google Chrome、Firefox 3.6 和 Safari 上运行良好,但在 iPad 上,无论我在 video.volume 中输入什么值,都可以没有发生任何变化。

有人让它正常工作吗?

这是我的 HTML 代码:

<video src="video_url" width="608" height="476" autobuffer="autobuffer" id="html5-player" preload>
   Your browser doesn't support HTML5.
</video

这里是 Javascript:

var muted = false;
$j('.player-mute').click(function(){
    if(muted) {
        videoPlayer.volume = 1;
        muted = false;
    } else {
        videoPlayer.volume = 0;
        muted = true;
    }
});

【问题讨论】:

  • 您能发布您的代码的简化版本(html 和 javascript)吗?没有任何代码,很难知道可能出了什么问题。
  • 点击触发正常,音量值变化,但iPad上声音不变。
  • 是的,我实际上与 Apple 的某个人讨论过,他告诉我这不是错误。他们希望用户通过硬件音量控制来控制它。
  • 请将某事标记为答案。
  • 啊苹果...多亏了你,感觉又回到了美好的旧时光:让我们写下我们支持包上的标准,但让我们实现其他东西。

标签: ios ipad html video


【解决方案1】:

正如@dobrin 所说,volume 属性在 IOS 上对于视频是只读的。

但是,您可以使用muted 属性,这允许您将视频静音或取消静音,大多数情况下,这将响应问题。

因此,您不能将特定音量设置在 0 和 1 之间,但您可以将音量设置为 0 或 1,然后 Apple 假定您将使用物理按钮来设置音量。

https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/muted

【讨论】:

    【解决方案2】:

    根据Apple's documentation,iOS 设备上的volume 属性是只读

    在 iOS 设备上,音频电平始终在用户的物理控制之下。音量属性在 JavaScript 中不可设置。读取音量属性总是返回 1。

    【讨论】:

    【解决方案3】:
    var muted = false;
    $j('.player-mute').click(function(){
    if(muted) {
        videoPlayer.volume(1);
        muted = false;
    } else {
        videoPlayer.volume(0);
        muted = true;
    }
    });
    

    使用like函数

    【讨论】:

    • 视频元素的音量属性不是函数。
    【解决方案4】:

    如果您阅读 iPad html5 视频文档,它会说只有设备的用户才能开始播放视频并更改音量。

    【讨论】:

    • 如果它是由点击事件触发的,它应该可以工作,不是吗?我的意思是它适用于视频播放(),我的播放按钮上绑定了一个点击事件,我没有问题,而静音按钮不起作用,可能是因为它是我修改的属性?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 2012-12-25
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多