Как автоматически воспроизвести видео на YouTube в UIWebView
Я видел много сообщений здесь об этой проблеме, но все еще не мог найти идеальный ответ для этой проблемы.
Итак, у меня есть таблица, и в каждой ячейке есть кнопка воспроизведения. Когда пользователь нажимает кнопку воспроизведения, я добавляюUIWebView
в эту ячейку и воспроизведите видео на YouTube.
static NSString *youTubeVideoHTML = @"<html>\
<body style=\"margin:0;\">\
<iframe class=\"youtube-player\" type=\"text/html\" width=\"%0.0f\" height=\"%0.0f\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\">\
</iframe>\
</body>\
</html>";
- (void)playVideoWithId:(NSString *)videoId {
NSString *html = [NSString stringWithFormat:youTubeVideoHTML, self.frame.size.width, self.frame.size.height, videoId];
[self loadHTMLString:html baseURL:nil];
}
Проблема:
Этот код на самом деле не воспроизводит видео, как я хочу, он просто запускает проигрыватель YouTube и показывает его с красной кнопкой воспроизведения YouTube. Только когда пользователь нажмет красную кнопку, видео начнет воспроизводиться.
Таким образом, пользователь должен нажимать две кнопки, пока видео не запускается - не лучший пользовательский опыт ...
Как я уже сказал, я видел много сообщений об этой проблеме, некоторые вообще не работают, а некоторые работают, но с некоторыми проблемами, которые меня беспокоят.
Одно из рабочих решений, которое я нашел, было вэта почта @ilias, он показывает, как заставить это работать с загрузкой HTML из файла (вместо строки, как я), проблема с этим подходом заключается в том, что для каждого воспроизводимого видео мне нужно:
загрузить файл htm -> вставить в него идентификатор видео -> записать файл на диск -> только теперь я могу воспроизвести видео.
Странно то, что это решение работает только при загрузке запроса веб-просмотра из файла, если я пытаюсь загрузить запрос из строки, равной содержанию файла, это не работает.