如何在通过 GPRS 在 iPhone 浏览器上播放的 HTML 页面上嵌入音频/视频

StackOverflow https://stackoverflow.com/questions/87290

  •  01-07-2019
  •  | 
  •  

尽管我没有iPhone进行测试,但我的同事告诉我,嵌入式媒体文件,例如下面的摘要中的文件,只有在iPhone通过WLAN连接或3G连接时才能起作用,并且连接时不起作用通过GPRS。

<html><body>
<object data="http://joliclic.free.fr/html/object-tag/en/data/test.mp3" type="audio/mpeg">
   <p>alternate text</p>
</object>
</body></html>

是否有一个带有媒体文件的示例URL,当iPhone使用GPRS(而不是3G)连接时,可以在iPhone浏览器中播放?

有帮助吗?

解决方案

通过 EDGE 连接时,iPhone YouTube 应用程序自动下载的视频质量比通过 Wi-Fi 连接时低,因为网络速度慢得多。这一事实让我相信 Apple 会做出设计决定,不再费心通过 EDGE 下载 MP3。浏览器无法提前知道比特率是否足够低,而且很可能也不会。因此,与其让用户因为播放时间过长的声音文件而感到沮丧(并阻止他们在下载时接听电话),不如让他们免于悲伤并鼓励他们寻找 Wi-Fi 热点。

其他提示

尝试这样的事情,它可以在网页上运行。这实际上是一个 320kps 的 mp3,但它只有 30 秒长。您可以使用名为la脚的程序将MP3转换为对您有用的比特率。

<div class="music">
  <p>Pachelbel's Canon</p>
  <!--[if !IE]>-->
  <object id="Cannon" type="audio/mpeg" data="http://calgarydj.ca/sound%20files/Pachebels%20Cannon.mp3" width="250" height="16">
    <param name="autoplay" value="false" />
    <param name="src" value="http://calgarydj.ca/sound%20files/Pachebels%20Cannon.mp3" />
  <!--<![endif]-->
    <object id="Cannon" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="250" height="60">
      <param name="autostart" value="false" />

      <param name="url" value="http://calgarydj.ca/sound%20files/Pachebels%20Cannon.mp3" />
      <param name="showcontrols" value="true" />
      <param name="volume" value="100" />
    <!--[if !IE]>--></object><!--<![endif]-->
  </object>
</div><!-- end of control -->

我不知道这个限制。虽然在您的提供商可能按字节收费的蜂窝数据服务上禁用潜在的数据量大的 OBJECT 或 EMBED 标签确实有意义,但如果这是原因,那么它仍然可以在 3G 上工作就没有意义了并且仅不在 GPRS 上。
也许问题是基本数据吞吐量之一?由于您自己(或我自己)没有 iPhone,因此很难检验您同事的说法。
请记住,GPRS 比 Wi-Fi 或 3G 慢得多。根据维基百科,GPRS 将提供 56 至 114 kbps 的总双工吞吐量,并非所有吞吐量都在下载方向。您已经可以看到,即使您获得最佳吞吐量并以下载速度获得所有内容,速度也不足以立即传输典型的 128 kbps mp3。
看着 本次论坛讨论 作为 Google 上出现的一个示例,GPRS 客户(未使用 Telestra(该地区的 EDGE 提供商)的客户)的速度约为 40 kbps。因此,如果正如问题所暗示的那样,您被困在 EDGEland,而不是 3Gland 或介于两者之间的任何地方,则需要大约 20 秒的缓冲才能播放 30 秒的 mp3。当您使用 OBJECT 或 EMBED 之类的行为模糊标签时,无法保证浏览器将如何解释它,也无法保证浏览器是否会尝试智能地流式传输文件,而不是在启动之前必须下载整个文件。
因此,您的同事很可能只是没有等待足够长的时间来查看他选择作为测试的任何嵌入式媒体是否开始播放(假设他没有使用您的 17KB 测试 mp3)。也有可能 iPhone 确实有这个限制,尽管我认为 Google 会比我快速搜索发现的更愿意解决这个问题,因为人们已经直言不讳地表达了他们不喜欢 iPhone 的其他方面。另一种可能性是,这是当前 iPhone 附带的 Safari 构建的限制,可能会在未来版本或其他浏览器中进行更改。
但最终的问题是,您真正想要什么样的用户体验?GPRS 上的嵌入式音频将需要很长时间才能加载,用户将无法享受这种体验,或者如果它应该在页面访问时开始播放并且在导航之前不会加载,则用户甚至可能根本无法体验它离开。在这种情况下,这可能不是一个值得努力的目标。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top