Saya mencoba untuk melakukan streaming beberapa video YouTube menggunakan MPMoviePlayerController tetapi saya mengalami beberapa masalah. Kode yang saya gunakan cukup sederhana dan saya dapat memutar video .m4v dengan meneruskan URL ke initWithContentURL. Ketika saya meluncurkan pemutar film, pemutar muncul tetapi hilang begitu saja setelah sekitar 20 detik. Ketika saya mencobanya di simulator, saya mendapatkan tampilan peringatan yang mengatakan server tidak dikonfigurasi dengan benar. Apakah ada argumen yang harus saya sampaikan dengan URL untuk mendapatkan jenis umpan video tertentu dari google?
NSURL *videoURL = [NSURL URLWithString:@"http://www.youtube.com/v/HGd9qAfpZio&hl=en_US&fs=1&"];
MPMoviePlayerController *moviePlayer;
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[moviePlayer play];
Saya juga mencoba URL berikut http://www.youtube.com/watch?v=HGd9qAfpZio
Saya juga telah melihat argumen & format = 1 dan mencoba menambahkannya ke akhir kedua string tetapi tidak berhasil.
Jawaban:
Satu-satunya cara untuk memutar video youtube di dalam aplikasi Anda sendiri adalah dengan membuat
UIWebView
dengan tag embed dari Youtube untuk film yang ingin Anda putar sebagaiUIWebView's
konten.UIWebView
akan mendeteksi bahwa objek yang disematkan adalah tautan Youtube, dan konten tampilan web akan menjadi pratinjau youtube untuk video tersebut. Saat pengguna Anda mengklik pratinjau, video akan ditampilkan dalam MPMoviePlayerController. Ini adalah teknik yang dijelaskan di tautan yang disediakan Muxecoid ( cara memutar video youtube dalam aplikasi ), dan ini (sejauh yang saya tahu) satu-satunya cara agar video youtube diputar dalam aplikasi. Anda masih dapat menjalankan aplikasi Youtube dengan meneruskan URL youtube ke-[UIApplication openURL:]
, tetapi tentu saja ini menutup aplikasi Anda sendiri yang seringkali tidak diinginkan.Sayangnya, tidak ada cara untuk memutar video youtube secara langsung
MPMoviePlayerController
karena youtube tidak menampilkan tautan langsung ke file video tersebut.sumber
Jika Anda menggunakan Kode:
- (void)embedYouTube:(NSString*)url frame:(CGRect)frame { NSString* embedHTML = @"\ <html><head>\ <style type=\"text/css\">\ body {\ background-color: transparent;\ color: white;\ }\ </style>\ </head><body style=\"margin:0\">\ <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \ width=\"%0.0f\" height=\"%0.0f\"></embed>\ </body></html>"; NSString* html = [NSString stringWithFormat:embedHTML, url, frame.size.width, frame.size.height]; if(videoView == nil) { videoView = [[UIWebView alloc] initWithFrame:frame]; [self.view addSubview:videoView]; } [videoView loadHTMLString:html baseURL:nil]; }
Sumber:
Lihat saja tautan ini
Pastikan Anda mengujinya di perangkat dan bukan di simulator. Karena simulator akan selalu menampilkan tanda tanya dengan kotak biru (tidak memiliki pemutar waktu cepat).
sumber
Seperti yang saya tulis di atas dalam komentar saya, saya harus melakukan ini dalam sebuah proyek yang sedang saya kerjakan. Saya telah memecahkan masalah ini dan mengirimkan kode di github.
Anda dapat memeriksa sumber dan mem-forknya di sini .
Ini pada dasarnya mengambil url youtube dan mendapatkan semua url video yang kompatibel dengan iOS.
Semoga ini bisa membantu!
Bersulang
sumber
Saya baru saja menemukan seseorang yang dapat menempatkan
YouTube
video di dalam fileMPMoviePlayerController
. Tampaknya itu mungkin sekarang.LBYouTubeView
sumber
Untuk memutar video tube Anda, Anda perlu mengekstrak url sebelum meneruskan url ke dalamnya
MPMoviePlayer
. Anda tidak bisa memainkannya secara langsung.Repo github saya memiliki implementasi demo ini.
Lihat:
https://github.com/DpzAtMicRO/IOSYoutubePlayer
Cobalah, ini memungkinkan untuk memuat dan memutar video youtube secara langsung
MPMoviePlayer
seperti video lainnya dan juga merupakan pendekatan yang cukup bagus.EDIT: Pastikan Anda membaca Readme.md dengan baik sebelum menggunakan ini dalam proyek Anda
sumber
Ini semudah mengambil elemen src dari iframe untuk pemanggilan dan kode embed baru
[self.webView loadRequest:[NSURLRequest requestWithURL:self.url]];
sumber
Cek link berikut ini. Saya pikir itu akan membantu Anda.
https://mobiletechfeast.blogspot.in/2014/08/youtube-player-for-ios.html
sumber
Ada cara resmi untuk menyematkan video YouTube di aplikasi iOS yang disediakan oleh Google.
Instal perpustakaan melalui cocoapods: pod "youtube-ios-player-helper"
impor oleh:
#import “YTPlayerView.h”
GunakanUIView
dan setel kelas keYTPlayerView
atau buat objek secaraYTPlayerView
terprogram.Muat video:
[self.playerView loadWithVideoId:@"M7lc1UVf-VE"];
Ada juga
playVideo
danstopVideo
metode yang tersedia. Untuk info lebih lanjut kunjungi Tautan inisumber