【问题标题】:HTTP Streamin Server works on iPhone, fails on iPad & SafariHTTP Streamin Server 在 iPhone 上工作,在 iPad 和 Safari 上失败
【发布时间】:2011-12-30 18:34:44
【问题描述】:

我正在尝试找出 HTTP 流服务器。我有一个使用 mp3 音频文件在 Apache22 上运行的测试播放列表:

http://atkin.identry.com/mp3/

这个播放列表适用于我的 iPhone 4s,但不适用于我的 iPad,即使它运行的是相同版本的 iOS 5,或者运行 Lion 的 iMac 上的 Safari。

对于 iPad,Apache 日志显示播放列表正在获取,但没有其他内容:

75.127.142.66 - - [30/Dec/2011:13:24:19 -0500] "GET /mp3/playlist.m3u8 HTTP/1.1" 304 - "-" "AppleCoreMedia/1.0.0.9A405 (iPad; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:24:20 -0500] "GET /mp3/playlist.m3u8 HTTP/1.1" 206 126 "-" "AppleCoreMedia/1.0.0.9A405 (iPad; U; CPU OS 5_0_1 like Mac OS X; en_us)"

如您所料,使用 iPhone 时,会先获取播放列表,然后再获取音频文件:

75.127.142.66 - - [30/Dec/2011:13:26:31 -0500] "GET /mp3/playlist.m3u8 HTTP/1.1" 206 2 "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:26:31 -0500] "GET /mp3/playlist.m3u8 HTTP/1.1" 206 126 "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:26:35 -0500] "GET /mp3/playlist.m3u8 HTTP/1.1" 304 - "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:26:35 -0500] "GET /mp3/playlist.m3u8 HTTP/1.1" 206 126 "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:26:35 -0500] "GET /mp3/playlist.m3u8 HTTP/1.1" 200 126 "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:26:35 -0500] "GET /mp3/1.mp3 HTTP/1.1" 200 366464 "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:26:36 -0500] "GET /mp3/2.mp3 HTTP/1.1" 200 375865 "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:26:36 -0500] "GET /mp3/3.mp3 HTTP/1.1" 200 316303 "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"

对于 Safari,获取播放列表和音频文件,与 iPhone 相同,但网页上不显示任何内容,也不播放声音。

这是播放列表:

#EXTM3U
#EXT-X-TARGETDURATION:44
#EXT-X-MEDIA-SEQUENCE:1
#EXTINF:15,
1.mp3
#EXTINF:16,
2.mp3
#EXTINF:13,
3.mp3
#EXT-X-ENDLIST

很简单...很难看出我可能哪里出错了,但显然我有。

我知道这是一个非常深奥的主题,但如果有人有想法,我很乐意听到。

谢谢

【问题讨论】:

  • 确实听起来很奇怪。一旦发生这种情况,我可能会去尝试重置故障设备。
  • 不...没有任何区别,不幸的是。
  • 刚刚在不同的 iPad 2 和相同的设备上尝试过。
  • 我的目标是在应用程序中使用 HTTP 流,所以这只是一个测试,但我希望它可以在 iPad 和 Safari 上运行。
  • 您的期望是正确的,最好在 MobilSafari 以及您自己的应用程序/代码中对其进行测试。

标签: ios http audio-streaming http-streaming


【解决方案1】:

好的,我想通了。它不在播放列表文件或音频文件中,而是在索引文件中,我认为它太简单了,不值得列出。

问题出在 video 标记中。我错误地使用了一些网络教程中的示例,标签设置如下:

  <video src="./playlist.m3u8" height="300" width="400" ></video>

这不适用于 iPad 或 Safari。将其更改为此使其可以在 iPad 上运行,但不能在 Safari 上运行:

  <video src="playlist.m3u8" height="300" width="400" ></video>

据我所知,这些 URL 是等效的,但是...

最后,把它改成这个就可以在所有平台上运行了:

 <video src="playlist.m3u8" width="320" height="40" controls="controls"     autoplay="autoplay" >Your browser does not support the video tag</video>

现在我需要播放 m4a 文件...

【讨论】:

  • 耶!也适用于 .m4a 文件,只要它们是“真正的”m4a 文件。
猜你喜欢
  • 2012-02-05
  • 1970-01-01
  • 1970-01-01
  • 2016-06-27
  • 2012-01-22
  • 2012-08-21
  • 1970-01-01
  • 2016-10-17
  • 2021-07-20
相关资源
最近更新 更多