代码之家  ›  专栏  ›  技术社区  ›  pythonquick

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

  •  2
  • pythonquick  · 技术社区  · 16 年前

    虽然我没有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)连接时?

    3 回复  |  直到 16 年前
        1
  •  2
  •   benzado    16 年前

    iPhone YouTube应用程序在通过边缘连接时,会自动下载质量较低的视频,而通过Wi-Fi连接时,因为网络速度要慢得多。这一事实让我相信苹果公司会做出设计决定,不必费心在Edge上下载MP3。浏览器无法预先知道比特率是否足够低,而且很可能是,它不会。因此,与其用播放时间过长的声音文件(并防止用户在下载时接到电话),不如让他们省去悲痛,鼓励他们找到Wi-Fi热点。

        2
  •  1
  •   Diogenes    15 年前

    尝试类似的方法,它在网页上工作。这实际上是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 -->
    
        3
  •  0
  •   Grank    16 年前

    我没有意识到这一限制。虽然在您的提供商可能按字节收费的蜂窝数据服务上禁用潜在的数据量较大的对象或嵌入标签是有意义的,但如果这是原因,那么它仍然可以在3G上工作,而不是在GPRS上工作是没有意义的。
    也许问题是基本数据吞吐量之一?如果你自己(或我自己)没有iphone,就很难测试你同事的陈述。
    请记住,GPRS比Wi-Fi或3G慢得多。根据维基百科的说法,GPRS将提供56到114 Kbps的全双工吞吐量,并非所有这些都在下载方向上。您已经可以看到,这还不够快,无法立即传输一个典型的128 kbps MP3,即使您获得了最佳吞吐量,并将其全部作为下载速度。
    看着 this forum discussion 作为一个在谷歌上出现的例子,GPRS用户(不使用Telestra的用户,这是该领域的一个边缘供应商)获得了大约40Kbps的速度。因此,如果正如问题所暗示的那样,你被困在Edgeland中,而不是3gland或任何介于两者之间的东西,播放30秒的MP3需要大约20秒的缓冲时间。当你使用一个行为模糊的标签,比如object或者embed时,不能保证浏览器会如何解释它,以及它是否会尝试智能地传输文件,而不是在开始之前下载整个文件。
    所以,很有可能你的同事只是没有等足够长的时间,看他作为测试选择的任何嵌入式媒体是否开始播放(假设他没有在那里使用你的17kb测试MP3)。也有可能iPhone确实有这种局限性,尽管我认为Google会比我的快速搜索更乐于接受,因为人们已经对其他他们不喜欢的关于iPhone的事情有了足够的发言权。另一种可能是,目前iPhone随附的Safari版本存在局限性,未来版本或其他浏览器可能会对其进行更改。
    最终,问题是,您真正想要什么样的用户体验?在GPRS上加载嵌入式音频需要很长的时间,如果要开始在网页上播放,用户将不会享受这种体验,甚至可能根本体验不到这种体验,在他们离开之前,它也不会加载。在这种情况下,这可能不是一个值得努力的目标。