首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在iPhone浏览器上嵌入音频/视频

如何在iPhone浏览器上嵌入音频/视频
EN

Stack Overflow用户
提问于 2008-09-17 20:29:58
回答 3查看 20.5K关注 0票数 2

虽然我没有iPhone来测试这一点,但我的同事告诉我,嵌入式媒体文件,例如下面的片段中的文件,只有在iphone通过WLAN连接或3G连接时才能使用,而在通过GPRS连接时则不能使用。

代码语言:javascript
复制
<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>

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-09-18 07:15:14

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

票数 2
EN

Stack Overflow用户

发布于 2009-02-27 18:41:10

试着这样做,它可以在网页上工作。这实际上是一个320kps的mp3,但它只有30秒长。您可以使用一个名为LAME的程序将mp3转换为适合您的比特率。

代码语言:javascript
复制
<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 -->
票数 1
EN

Stack Overflow用户

发布于 2008-09-17 22:56:24

我没有意识到这一限制。虽然在蜂窝数据服务上禁用潜在的数据量大的OBJECT或EMBED标签是有意义的,但如果这是按字节收费的原因,那么它仍然可以在3G上工作,而只在GPRS上不能工作。

也许问题出在基本数据吞吐量上?如果你自己(或我自己)没有iPhone,就很难检验你同事的说法。

请记住,GPRS比Wi-Fi或3G慢得多。根据维基百科的说法,GPRS将提供56到114kbps的总双工吞吐量,并不是所有的双工吞吐量都在下载方向。你已经可以看到,即使你获得了最优的吞吐量和下载速度,这也不足以立即传输一个典型的128kbps的mp3。

以谷歌上出现的this forum discussion为例,GPRS客户(那些没有使用Telestra的客户,这是该领域的边缘提供商)获得了大约40kbps的带宽。因此,如果正如问题所暗示的那样,你被困在EDGEland中,而不是3Gland或任何介于两者之间的东西,那么它将需要大约20秒的缓冲来播放30秒的mp3。当你使用像OBJECT或EMBED这样的行为模糊的标签时,不能保证浏览器将如何解释它,以及它是否会尝试智能地流式传输文件,而不是在启动文件之前下载整个文件。

因此,很可能您的同事没有等待足够长的时间来查看他选择作为测试的嵌入式媒体是否开始播放(假设他没有在那里使用您的17KB测试mp3 )。也有可能iPhone确实有这个限制,尽管我认为谷歌会比我快速搜索发现的更坦率,因为人们对iPhone的其他不喜欢的事情已经足够直言不讳了。另一种可能是,这是目前随iPhone发布的Safari构建中的一个限制,该限制可能会在未来的版本或其他浏览器中更改。

然而,最终的问题是,你真正想要什么样的用户体验?GPRS上嵌入的音频需要很长时间才能加载,用户不会享受这种体验,甚至可能根本不会体验到它,如果它应该在页面访问时开始播放,但在他们离开之前没有加载。在这种情况下,这可能不是一个值得努力的目标。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/87290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档