Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2016, 09:22   #1
stealth7
 
Регистрация: 18.11.2016
Сообщений: 8
По умолчанию Глюки TWebBrowser и видео через YouTube

Добрый день!
В моей программе необходимо просматривать ролики видео с сервиса YouTube. В качестве браузера, компонент TWebBrowser.

Первоначально фрейм-код с нужным URL видео загружался в WebBrowser так:
Цитата:
WB.OleObject.Document.body.Innerhtm l := '<iframe width="853" height="480" src="https://www.youtube.com/embed/' + URL + '?rel=0&amp;showinfo=0&autoplay=1" frameborder="0" allowfullscreen></iframe>';
Всё было замечательно пока я не закончил программу и не пошёл протестировать её на ПК брата...
После команды "проиграть видео" я обнаружил что видео нет, на экране рамка от фрейма и маленький квадрат в левом верхнем углу.
Разузнал в интернете что это связано с особыми настройками ActiveX и просмотром файлов-сценариев в оффлайновом режиме (то-есть запуск файла локально, а не через сервер).
Ну думаю ладно, попробую открыть через сервер и подставить WebBrowser'у фрейм с видео. Получилось, видео заработало, всё устраивает.
Но не тут то было... После первого просмотра, сам ютубовский плеер стал толще, появилось пространство по бокам плеера, ничего не помогает, до перезапуска программы.
В общем я не знаю что делать. Я прощу помощи всех кто может помочь.
Быть может есть другие средства для просмотра видео через фрейм или непосредственно загрузка URL во флеш плеер какой...
PS. Среда разработки Delphi 10 Seattle

Последний раз редактировалось stealth7; 18.11.2016 в 09:34.
stealth7 вне форума Ответить с цитированием
Старый 18.11.2016, 09:44   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не знаю насчет отличий ваших ПК, но вообще по умолчанию WebBrowser использует режим 7 версии IE независимо от версии установленной на компе.

Можно изменить это в реестре http://msdn.microsoft.com/en-us/libr...wser_emulation

Или взять CEF (TChromium)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 18.11.2016, 10:06   #3
stealth7
 
Регистрация: 18.11.2016
Сообщений: 8
По умолчанию

Alex11223,
спасибо за ответ!
Программу я делаю для массового использования. Лезть в реестр и менять что-то у всех пользователей - не самый лучший вариант. Согласитесь?

Да, я тоже слышал что у TWebBrowser'a версия отличается от IE, это очевидно. Если например я открываю фрейм видео через IE и жму правой кнопкой по плееру, выскакивает ютубовское окно с информацией внизу, что используется HTML5. Но если сделать тоже самое в TWebBrowser, откроется окно классическое окно от Adobe Flash Player.

По поводу TChromium. Спасибо, буду копать.
stealth7 вне форума Ответить с цитированием
Старый 18.11.2016, 10:13   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от stealth7 Посмотреть сообщение
Лезть в реестр и менять что-то у всех пользователей - не самый лучший вариант. Согласитесь?
Нормальный, читайте по ссылке, вы только для своей программы меняете.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 18.11.2016, 10:48   #5
stealth7
 
Регистрация: 18.11.2016
Сообщений: 8
По умолчанию

Alex11223,
сделал, как Вы сказали:
Цитата:
Reg.WriteInteger('Programm.exe', 1114105); // (11001 )
Пока полёт нормальный. По секрету скажу, у меня стояла эта фишка с реестром, но:
Цитата:
Reg.WriteInteger('Programm.exe', 65537); // (10001)
Как видно для версии 10.

Зачем я её ставил? Мне нужно было сдвинуть плеер Top=0, Left=0. Стандартным HTML не добивался успехов (были отступы), а этот параметр в реестре помог.

Спасибо и удачи. Если что напишу.
stealth7 вне форума Ответить с цитированием
Старый 18.11.2016, 12:07   #6
stealth7
 
Регистрация: 18.11.2016
Сообщений: 8
По умолчанию

Танцы продолжаются))
Теперь самая главная проблема, это то что плеер не открывается на весь экран, даже если нажать "развернуть" на кнопке самого плеера YouTube. В WebBrowser есть функция FullScreen, меняя на True / False - разницы нет.

Код самого плеера.
Код:
<html><head><style>*{margin:0;padding:0;background-color:#000000;}</style></head>
<iframe width="1020" height="660" src="https://www.youtube.com/embed/' + URL + '?rel=0&autoplay=1" frameborder="0" allowfullscreen></iframe>
</body></html>
Все знают что YouTube плеер можно развернуть двойным нажатием левой кнопки мыши по плееру, в моём случае не работает, происходит Stop & Play.

Последний раз редактировалось Alex11223; 18.11.2016 в 12:29.
stealth7 вне форума Ответить с цитированием
Старый 18.11.2016, 12:36   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А в IE работает этот код?

Цитата:
Сообщение от stealth7 Посмотреть сообщение
В WebBrowser есть функция FullScreen, меняя на True / False - разницы нет.
Так и должно быть.
http://docs.embarcadero.com/products...ullScreen.html
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 18.11.2016, 12:57   #8
stealth7
 
Регистрация: 18.11.2016
Сообщений: 8
По умолчанию

Alex11223,
да. В моём IE отлично код работает как надо.

Прикол в том что плеер на самом деле раскрывается, но в пределах WB, а не на весь экран. Почему так...
stealth7 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка видео на YouTube master-sheff Работа с сетью в Delphi 3 02.04.2014 23:08
Загрузка видео НА youtube Кольша Помощь студентам 0 22.08.2013 17:21
Видео Stereo3D на youtube ? oO fezilk25 Свободное общение 10 09.01.2012 11:37
Ссылка на видео с Youtube stepennwolf PHP 0 23.04.2011 00:10