2011-03-29 122 views
2

我想從MPMoviePlayer(例如:http://localhost/api?file_id=2313mk)從URL播放視頻(MP4)文件,但無法讓它工作,想知道是否有任何解決方案。MPMoviePlayer無法播放沒有擴展名的URL的視頻流

很少試驗如下進行:
1)在計算機的瀏覽器Play網址:SUCCESS
2)在iPhone上播放URL(4.2+)的瀏覽器/ MPMoviePlayer:FAILED
3)複製文件和重命名,然後在iPhone瀏覽器中播放/ MPMoviePlayer從擴展新的URL(如:http://localhost/video.mp4):成功
4)檢查頭的內容類型(視頻/ MP4):EXISTS

爲無擴展URL響應頭:(例如:HTTP://本地主機/ API的file_id = 2313mk)

 
HTTP/1.1 200 Download accepted 
Date: Tue, 29 Mar 2011 04:48:03 GMT 
Server: Apache 
Content-Transfer-Encoding: binary 
Content-Length: 24897567 
Keep-Alive: timeout=15, max=100 
Connection: Keep-Alive 
Content-Type: video/mp4 

與擴展URL響應頭:(例如:HTTP://localhost/video.mp4 )

 
HTTP/1.1 200 OK 
Date: Tue, 29 Mar 2011 04:11:19 GMT 
Server: Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8l DAV/2 PHP/5.3.4 
Last-Modified: Fri, 18 Mar 2011 05:38:16 GMT 
Etag: "d1b78c-17be81f-49ebb2f458200" 
Accept-Ranges: bytes 
Content-Length: 24897567 
Keep-Alive: timeout=5, max=100 
Connection: Keep-Alive 
Content-Type: video/mp4 
+0

它實際上適用於mp3格式,如果服務器的url(例如:http:// localhost/api?file_id = 2313mk)返回mp3 – alvinsj 2011-03-30 04:11:42

回答

0

您的測試結果表明,「視頻/ MP4」 MIME類型無法識別。與文件擴展名的視頻播放,無論內容類型,因爲擴展名爲「MOV」被稱爲屬於一個電影文件:

http://developer.apple.com/library/ios/#documentation/Miscellaneous/Conceptual/iPhoneOSTechOverview/MediaLayer/MediaLayer.html#//apple_ref/doc/uid/TP40007898-CH9-SW6

您可以更改內容類型?

+0

Content-Type實際上似乎是正確的,但是爲什麼/你有什麼建議改變? – alvinsj 2011-04-08 05:16:39

+0

對不起,我只做了「下載和播放」或HTTP實況流。第一個基於文件擴展名工作,第二個在服務器開始發送正確的MIME類型後工作。尚未完成動態下載(但),但是我猜想我會嘗試「video/mpeg」或「video/quicktime」。我的意思是在服務器端更改MIME類型。 – JOM 2011-04-08 09:59:49