Я пытаюсь транслировать некоторые видео на YouTube с помощью MPMoviePlayerController, но у меня возникают проблемы. Код, который я использую, довольно прост, и я могу воспроизводить видео .m4v, передав URL-адрес в initWithContentURL. Когда я запускаю проигрыватель фильмов, проигрыватель появляется, но исчезает примерно через 20 секунд. Когда я пробую это в симуляторе, я получаю предупреждение, в котором говорится, что сервер настроен неправильно. Есть ли аргумент, который мне нужно передать с URL-адресом, чтобы получить определенный тип видеопотока из 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];
Я также пробовал http://www.youtube.com/watch?v=HGd9qAfpZio по следующему URL- адресу.
Я также видел аргумент & format = 1 и пытался добавить его в конец обеих строк, но безуспешно.
Ответы:
Единственный способ воспроизвести видео с YouTube внутри вашего собственного приложения - создать
UIWebView
с помощью тега embed из Youtube фильм, который вы хотите воспроизвести в качествеUIWebView's
контента.UIWebView
обнаружит, что внедренный объект является ссылкой на Youtube, а содержимое веб-представления будет предварительным просмотром YouTube для видео. Когда пользователь щелкает предварительный просмотр, видео будет отображаться в MPMoviePlayerController. Это метод, описанный по ссылке, предоставленной Muxecoid ( как воспроизводить видео с YouTube в приложении ), и это (насколько мне известно) единственный способ воспроизвести видео с YouTube в приложении. Вы по-прежнему можете запустить приложение Youtube, передав URL-адрес YouTube-[UIApplication openURL:]
, но, конечно, это закрывает ваше собственное приложение, что часто нежелательно.К сожалению, нет возможности напрямую воспроизводить видео на YouTube,
MPMoviePlayerController
потому что YouTube не предоставляет прямые ссылки на видеофайлы.источник
Если вы используете Код:
- (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]; }
Источник:
Просто обратитесь по этой ссылке
Убедитесь, что вы тестируете его на устройстве, а не на симуляторе. Так как симулятор всегда будет отображать вопросительный знак с синей рамкой (в нем нет проигрывателя быстрого времени).
источник
Как я писал выше в своем комментарии, мне пришлось сделать это в проекте, над которым я работал. Я решил эту проблему и отправил код на github.
Вы можете проверить исходный код и создать вилку здесь .
Он в основном берет URL-адрес YouTube и получает все URL-адреса видео, совместимые с iOS.
Надеюсь, это поможет!
Ура
источник
Я только что наткнулся на человека, который смог поместить
YouTube
видео в файлMPMoviePlayerController
. Теперь это кажется возможным.LBYouTubeView
источник
Чтобы воспроизвести видео из трубки, вам необходимо извлечь URL-адрес перед передачей URL-адреса
MPMoviePlayer
. Вы не можете играть напрямую.В моем репозитории на github есть демонстрационная реализация этого.
Увидеть:
https://github.com/DpzAtMicRO/IOSYoutubePlayer
Попробуйте, это позволяет загружать и воспроизводить видео с YouTube напрямую,
MPMoviePlayer
как и любое другое видео, и это тоже довольно хороший подход.РЕДАКТИРОВАТЬ: Убедитесь, что вы хорошо просмотрели Readme.md, прежде чем использовать его в своем проекте.
источник
Это так же просто, как взять элемент src iframe для нового кода внедрения и вызвать
[self.webView loadRequest:[NSURLRequest requestWithURL:self.url]];
источник
Проверьте следующую ссылку. Думаю, это вам поможет.
https://mobiletechfeast.blogspot.in/2014/08/youtube-player-for-ios.html
источник
Существует официальный способ встраивания видео с YouTube в приложение для iOS, предоставляемый Google.
Установите библиотеку через cocoapods: pod "youtube-ios-player-helper"
import by:
#import “YTPlayerView.h”
ИспользуйтеUIView
и установите классYTPlayerView
или создайте объектYTPlayerView
программно.Загрузить видео:
[self.playerView loadWithVideoId:@"M7lc1UVf-VE"];
Также существуют
playVideo
иstopVideo
доступные методы. Для получения дополнительной информации посетите эту ссылкуисточник