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

时间:2020-03-05 18:59:56  来源:igfitidea点击:

尽管我没有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浏览器中播放
当iPhone使用GPRS(不是3G)连接时?

解决方案

回答

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

回答

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

回答

尝试类似的方法,它可以在网页上运行。这实际上是一个320kps的mp3,但只有30秒长。我们可以使用一个名为LAME的程序将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 -->