2008-09-17 70 views
2

虽然我没有iPhone来测试这一点,但我的同事告诉我,嵌入 媒体文件,如下面代码片段中的一个,仅当iPhone通过 WLAN连接或3G连接时才有效,并且在通过GPRS连接时不起作用。如何在通过GPRS在iPhone浏览器上播放的HTML页面中嵌入音频/视频

<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浏览器 玩?

回答

2

当通过EDGE连接时,iPhone YouTube应用程序自动下载的质量较低的视频比通过Wi-Fi连接时低,因为网络速度较慢。这一事实导致我相信苹果会做出设计决定,不会打扰通过EDGE下载MP3。浏览器无法预先知道比特率是否足够低,并且机会不大。因此,不要让用户花费太长时间播放声音文件(并阻止他们在下载时接听电话),最好不要让他们感到悲伤,并鼓励他们找到Wi-Fi热点。

0

我不知道这个限制。虽然在您的提供商可能按字节收费的蜂窝数据服务上禁用潜在的数据庞大的OBJECT或EMBED标记是有意义的,但如果这是它在3G上仍能工作的意义不大的原因并且只在GPRS上没有。
也许问题是基本数据吞吐量之一?没有iPhone(或我自己),很难测试你的同事的陈述。
请记住,GPRS比Wi-Fi或3G慢得多。根据维基百科,GPRS将提供56到114kbps的全双工吞吐量,并非所有的都在下载方向。即使您获得了最佳的吞吐量并将其作为下载速度,您已经可以看到速度不足以立即传输典型的128 kbps mp3。
作为谷歌提出的一个例子,看看this forum discussion,GPRS客户(那些不使用Telestra的公司,这是该领域的EDGE提供商)正在获得大约40kbps。因此,如果问题暗示,你被困在EDGEland,而不是3Gland或其他任何东西,它将需要大约20秒的缓冲来播放30秒的MP3。而当你使用像OBJECT或EMBED这样的行为模糊标签时,浏览器如何解释它,以及它是否会尝试智能地流式传输文件,而不是在启动之前下载整个文件。
所以,很可能你的同事没有足够长的时间去观察他选择的任何嵌入式媒体作为测试开始播放(假设他没有在那里使用你的17KB测试mp3)。 iPhone也可能确实存在这种局限性,但我认为谷歌会比我发现的快速搜索更容易得到,因为人们已经对他们不喜欢的其他东西发表过足够的声音。另一种可能性是,这是目前与iPhone一起发布的Safari的版本限制,可能会在未来版本或其他浏览器中更改。
最终,问题是,你真的想要什么样的用户体验? GPRS上的嵌入式音频需要花费很长时间才能加载,用户不会享受这种体验,或者如果它应该在页面访问时开始播放,并且在用户浏览之前不加载远。在这种情况下,这可能不是一个值得努力的目标。

+0

嗨格兰克。iPhone优化的网页全部是关于播放短MP3序列(短语)。用户Benzado指出,根据EDGE/3G连接,iPhone YouTube应用的行为有所不同。似乎浏览器遵循相同的主题。所以我接受了他的回答。也谢谢你的回答。 – pythonquick 2008-09-22 02:34:22

1

尝试类似这样的东西,它可以在网页上工作。这实际上是一个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 --> 
相关问题