【问题标题】:CloudStorageTools::serve() audio not playing on iOSCloudStorageTools::serve() 音频未在 iOS 上播放
【发布时间】:2017-05-30 07:41:52
【问题描述】:

我正在使用GoogleCloudStorage::serve() 通过Google App Engine 上的网站提供.mp3 文件,并带有HTML5 audio 标签。一切正常,但在更新 iOS 后,这些设备无法在任何浏览器中播放音频。

我不确定为什么代码停止工作。在所有浏览器的 Android 和 Windows 上,其他一切都可以正常运行。

它根本不依赖 Javascript 或自动播放。它只是一个简单的音频标签,其来源由GoogleCloudStorage::serve() 提供,除了最近在 iOS 上之外,它在任何地方都可以使用。

我们将不胜感激。

【问题讨论】:

    标签: ios google-app-engine google-cloud-storage html5-audio


    【解决方案1】:

    这是在黑暗中拍摄的,因为我对在 iOS 上提供音频文件一无所知,但万一它有帮助......

    大约在您发布此问题的同时,一位朋友要求我帮助他处理他的网站。该网站之前播放了音频,但在您提出问题时,音频在 OS X 上的 Safari 上停止工作。

    正在使用的现有音频播放器是基于 Flash 的。我将他的网站切换为使用 HTML5 播放音频,然后效果很好。

    因此,您可能需要检查您是否在 iOS 中使用 Flash 播放器播放音频,如果可以,将其更改为 HTML5。

    【讨论】:

    • 感谢您的输入,但它已经在使用 HTML5。当我点击播放时,什么也没有发生。
    【解决方案2】:

    您是否依赖自动播放? iOS 禁用自动播放,你真的必须 让用户触摸按钮或其他东西。

    引用Apple's documentation:

    在 iOS 上的 Safari(适用于所有设备,包括 iPad)中,用户可以 在蜂窝网络上并按数据单元收费,预加载和 自动播放被禁用。在用户启动数据之前不会加载数据。 这意味着 JavaScript play()load() 方法也处于非活动状态 直到用户开始播放,除非 play()load() 方法 由用户操作触发。换句话说,用户发起的 Play 按钮有效,但 onLoad="play()" 事件无效。

    这会播放电影:<input type="button" value="Play" onclick="document.myMovie.play()">

    在 iOS 上没有任何作用&lt;body onload="document.myMovie.play()"&gt;

    【讨论】:

    • 没有。它只是一个基本的 HTML 音频标签。打比赛没有任何作用。适用于除 iOS 之外的其他任何地方。
    猜你喜欢
    • 2023-01-26
    • 2021-11-11
    • 2016-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    相关资源
    最近更新 更多