Вопрос по uiwebview, ios, embed, youtube, autoplay – Автовоспроизведение видео с YouTube внутри UIWebview

5

Я нашел много вопросов на этом форуме относительно встраивания видео на YouTube и автозапуска, но ни один из них не развеял все мои сомнения.

Я нашел два метода для вставки видео YouTube в UIWebView

1)

<code>NSString *youTubeHTMLTemplate = @"<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>"; 
finalHtml = [NSString stringWithFormat:youTubeHTMLTemplate, fullYopuTubeUrl, htmlFrameWidth, htmlFrameHeight];
</code>

2)

<code>NSString *youTubeHTMLTemplate = @"<html><body style=\"margin:0;padding:0;\"><iframe class=\"youtube-player\" type=\"text/html\" width=\"%f\" height=\"%f\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\" allowfullscreen></iframe></body></html>";
finalHtml = [NSString stringWithFormat:youTubeHTMLTemplate, htmlFrameWidth, htmlFrameHeight, videoID];
</code>

Если я использую (1) метод и следую приведенному подходуВот мое видео автоматически воспроизводится. Идея состоит в том, чтобы найти кнопку в UIWebView и отправить ей событие касания.

Если я использую (2) и придерживаюсь того же подхода, видео не воспроизводится автоматически.

Я думаю, что (2) подход рекомендуется, поскольку (1) только для Flash-видео (верно?).

Возможно ли каким-либо образом (2) это возможно? этоссылка на сайт говорит нет.

Кто-нибудь может подтвердить

If I am correct that (2) is recommended Autoplay with (2) is not possible.
этотpost скидка на возможность нажатия на флэш-видео с использованием JavaScript .. Облом! abbood
гм ... я надеялся на более общее решение ... например, я делаю ссылку на флеш-видео в прямом эфире, и я хотел бы, чтобы он воспроизводился сразу же, как только пользователь загрузит viewController, содержащий веб-просмотр, с видеокодом в прямом эфире ... я думаю, что я ищу, чтобы автоматизировать нажатие пользователем кнопки воспроизведения ... но, опять же, я не хочу, если бы Apple принял такой код abbood
& quot; если я использую метод (1) и следую приведенному здесь подходу ... вы ссылаетесь на вопрос, а не на конкретный ответ на этой странице ... там около 10 ответов ... можете ли вы дать ссылку на конкретный ответ, который вы имел в виду? abbood
извините @abbood, но не берите в голову подход, который я связал, больше не будет работать на iOS & gt; 5 (или 6). Используйте JS API YouTube. msk

Ваш Ответ

4   ответа
3

О. Да (2) метод для i-устройств, где нет поддержки флэш.

Q. Автоигра с (2) невозможна.

О. Нет автоигры не возможно на данный момент.

Обновление: я могу автоматически воспроизводить видео на YouTube с помощью API JS Youtube, см.https://developers.google.com/youtube/js_api_reference

Просто позвоните playVideo из onPlayerReady

function onPlayerReady(event) {
                event.target.playVideo();                    
            }
Как вы называете это из UIWebView?
@ MSK Это не работает для меня, не в состоянии автоматически играть.
0

Автоигра возможна путем выдачи:

webView.mediaPlaybackRequiresUserAction=FALSE;
из-за этой строки я весь день ломал голову Спасибо!
о, может быть, да, потому что в последний раз я попробовал это на iOS5, где это не сработало. Хотя подход в моем ответе работает для iOS & gt; = 5. msk
Это старая ветка, но я помню, что настройка mediaPlaybackRequiresUserAction = NO сама по себе мне не помогла. Я обновил свой ответ выше, и я могу автоматически воспроизводить видео на YouTube. msk
Это работало только в iOS6 + для меня.
Не работает для меня, используя iOS 6+
3

webview.mediaPlaybackRequiresUserAction=NO;
webview.allowsInlineMediaPlayback=YES;
-1

Saurabh Wadhwa Ответ что огоньendActionsForControlEvents:UIControlEventTouchUpInside после завершения загрузки UIWebView

Пожалуйста, внимательно прочитайте мой вопрос, я уже попробовал. msk

Похожие вопросы