CloudStorageTools :: serve()音频无法在iOS

时间:2017-01-15 10:07:55

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

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

我不确定为什么代码停止工作。在所有浏览器中,其他所有功能在Android和Windows上仍能正常运行。

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

任何意见都会受到赞赏。

2 个答案:

答案 0 :(得分:1)

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

大约在您发布此问题的同时,一位朋友让我帮助他建立他的网站。该网站以前播放过音频,但在您提出问题时,音频已停止在OS X上的Safari上运行。

正在使用的现有音频播放器是基于Flash的。我将他的网站改为使用HTML5播放音频,然后它运行良好。

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

答案 1 :(得分:1)

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

引自Apple's documentation

  

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

     

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

     

iOS 上的没有任何内容:<body onload="document.myMovie.play()">