2011-12-14 15 views
4

私はこのコードを使用してのiOSのUIWebViewでVimeoのビデオを再生しようとしています:のiOS:Vimeoのビデオプレーヤー

NSString *urlString = [NSString stringWithFormat:@"http://player.vimeo.com/video/%@?title=0&byline=0&portrait=0", video.serviceId]; 
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]]]; 

それはiPhone 4に正常に動作しますが、iPhone 3GS上で、これは時々正常に動作しますが、他の回

Vimeo response

誰もがすべてのデバイス上のiOSでVimeoのビデオを再生する方法を教えてもらえます:以下のようVimeoのプレーヤーからの応答がありますか?

EDIT1:私は、ユーザーエージェント情報との両方のデバイス(iPhone 4とiPhone 3GS)をテストしてみた

同じユーザーエージェントを送信している:

のMozilla/5.0(iPhone; CPUマックOS XのようなiPhone OS 5_0_1)のAppleWebKit/534.46(KHTML、ヤモリなど)モバイル/ 9A405

さらに

私は同じエラーを与えるiPhone 3GS、上のSafariブラウザから動画を再生しようとしましたUIWebViewのように。

+1

I * think * Vimeoの一部のビデオは、iOSの互換性のある設定を使用してエンコードされていないため、互換性がありません。 – mattjgalloway

+0

まあ、同じビデオは何か上記の画面とそれがうまく動作している他の時間を与えることができます。 – dhrm

答えて

1

3gsでサポートされているH.264のサポートされているフォーマットはごくわずかです。これは、3gsで再生できない可能性のあるH.264形式のビデオを持ち、その特定のエラーをスローすることが可能であることを示しています。 (参照:http://www.clone2go.com/tutorials/convert-dvd-movie-to-iphone-3gs.phphttp://www.niallkennedy.com/blog/2010/07/h264-video.html

しかし、なぜVimeoで動作するのはなぜですか?ダニー。私の推測では、帯域幅に応じてコンテンツを抑制したり、H.264フォーマットを変更したりするという考え方になります。だから、H.264フォーマットがあなたの3Gや4で受信されているかどうかを調べるためにいくつかのテストを実行し、面白いことがあればここに結果を投稿します。

1

UIWebViewからのWebリクエストには、ユーザーエージェントの文字列に「Safari」という単語が含まれないため、Vimeoはモバイルブラウザを特定できず、正しいビデオ形式を取得できません。

UIWebViewのユーザーエージェントをモバイルSafariのものに置き換えることができます。here変更方法(またはGoogleだけ)が見つかりました。あなたが望むなら、this articleを読んで、UIWebViewとMobile SafariのUser Agentがどのように機能するかについて非常に興味深いでしょう。

+0

EDIT1を確認してください。 – dhrm

+0

Uhm ...この問題を示すビデオのリンクを投稿してください。 iPhone 3GSがサポートしているのは、複雑なバージョンのH.264ベースラインプロファイルで、最大160 KbpsのAAC-LCオーディオを搭載したものです(** iND **で提案されているように)。 iPhone 4は_Main Profile level 3.1で、最大160 KbpsのAAC-LC音声を提供しています:リンクでは、どのバージョンが使用されているかを確認し、この(奇妙な)問題について何かを理解することができます。 – Sylter

+0

はい、ここにプレーヤーのURLがあります:http://player.vimeo.com/video/32258447 – dhrm

関連する問題