Я видел много сообщений здесь об этой проблеме, но до сих пор не смог найти идеального ответа на эту проблему.Как автовоспроизвести видео 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. Только когда пользователь нажимает красную кнопку, видео начнет воспроизведение.
Таким образом, пользователю нужно нажать две кнопки до тех пор, пока не начнется видеозапись - не лучший пользовательский интерфейс ...
Как я уже сказал, я видел много сообщений об этой проблеме, некоторые из них не работают вообще, а некоторые работают, но с некоторыми проблемами это меня задевает.
Один из рабочих решений, который я нашел, был в this post от @ilias, он показывает, как это сделать, загружая HTML из файла (вместо строки, как я) проблема с этим утверждением заключается в том, что для каждого видео Я играю Мне нужно:
загрузить файл htm -> встроить в него видео Id -> записать файл на диск -> только теперь я могу воспроизвести видео.
Странно то, что это решение работает только при загрузке запроса веб-представления из файла, если я попытаюсь загрузить запрос из строки, равной содержимому файла, это не сработает.
–
включают Auto Play в этой категории Iframe –
@Manohar, что does't работы – Eyal