[解決済み] UIWebViewの代わりにMPMoviePlayerControllerでYouTube動画を再生する。
質問
MPMoviePlayerControllerを使ってYouTubeの動画をストリーミング再生しようとしているのですが、いくつか問題があります。 私が使用しているコードは非常にシンプルで、initWithContentURL に URL を渡すことによって .m4v ビデオを再生できます。 ムービー・プレーヤーを起動すると、プレーヤーは表示されるのですが、20秒ほどで消えてしまいます。 シミュレータで試すと、サーバーが正しく設定されていないというアラートビューが表示されます。 Google から特定の種類の動画フィードを取得するために URL と共に渡す必要がある引数はありますか?
NSURL *videoURL = [NSURL URLWithString:@"http://www.youtube.com/v/HGd9qAfpZio&hl=en_US&fs=1&"];
MPMoviePlayerController *moviePlayer;
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[moviePlayer play];
また、以下のURLも試してみました。 http://www.youtube.com/watch?v=HGd9qAfpZio
私はまた、引数 &format=1 を見て、それを両方の文字列の末尾に追加しようとしましたが、うまくいきませんでした。
どのように解決するのですか?
自分のアプリ内でyoutubeの動画を再生させるためには
UIWebView
を作成し、再生したい動画のYoutubeの埋め込みタグを
UIWebView's
のコンテンツとして使用します。
UIWebView
は、埋め込みオブジェクトが Youtube のリンクであることを検出し、ウェブビューのコンテンツが動画の youtube プレビューになります。ユーザーがプレビューをクリックすると、MPMoviePlayerControllerに動画が表示されます。これは、Muxecoid が提供しているリンク先で説明されている手法です (
アプリケーションでYoutubeの動画を再生する方法
で説明されている手法で、これが(私が知る限り)アプリケーション内でYoutubeの動画を再生させる唯一の方法です。なお、Youtube の URL を
-[UIApplication openURL:]
に渡すことで、Youtube アプリケーションを起動させることもできますが、もちろんこれは望ましくないことが多く、アプリケーションを終了させます。
残念ながら、Youtubeのビデオを直接再生する方法はありません。
MPMoviePlayerController
で直接再生することはできません。なぜなら、youtube は動画ファイルへの直接リンクを公開していないからです。
関連
-
IOS8 Development Guide Error Thread 1: signal SIGABRT
-
iOSコンパイルポッドでエラー CocoaPods could not find compatible versions for pod "XXXXX" が報告される。
-
[解決済み] UITextViewのプレースホルダー
-
[解決済み] iOS7でスタイルUITableViewStyleGroupedを持つUITableViewの上部に余分なパディングがあるのはなぜですか?
-
[解決済み] iOS 13 のフルスクリーンでモーダルを表示する
-
[解決済み] Unwind segueは何に使うのか、どう使うのか?
-
[解決済み] コードサインエラーです。期限切れのプロファイルを削除した後、プロビジョニングプロファイルが見つからない
-
[解決済み] Swift 3, 4, 5 で dispatch_after GCD を書くにはどうしたらいいですか?
-
[解決済み] UIViewの角丸とドロップシャドウ?
-
[解決済み] Swift で HTTP リクエストを行うにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] Objective-Cでデリゲートを作成するにはどうしたらいいですか?
-
[解決済み] Xcodeにおけるバージョンとビルドの比較
-
[解決済み] NSの接頭辞はどういう意味ですか?
-
[解決済み] iOS Simulatorでネットワークを無効にすることは可能ですか?
-
[解決済み] NSNotificationCenterのaddObserver in Swift
-
[解決済み] Swiftのプロトコルでオプションのメソッドを定義するには?
-
[解決済み] ファイルはユニバーサル(3スライス)ですが、iOSの静的ライブラリのための(n)ARMv7-sスライスエラーが含まれていない、どうにかして回避するには?
-
[解決済み] swiftで電子メールアドレスを検証する方法は?
-
[解決済み] Swiftで配列に要素を追加する