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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2012, 22:37   #1
4Dragon
 
Регистрация: 17.06.2012
Сообщений: 9
По умолчанию Кликнуть по Flash содержимому в WebBrowser

В WebBrowser'е загружается страница с видео на YouTube. После этого нужно кликнуть (или послать команду) по кнопке Play и убрать звук (Mute). Как это сделать? Очень нужно!
4Dragon вне форума Ответить с цитированием
Старый 21.06.2012, 20:20   #2
4Dragon
 
Регистрация: 17.06.2012
Сообщений: 9
По умолчанию

Неужели никто не знает, как взаимодействовать с Flash элементом в WebBrowser'e?
4Dragon вне форума Ответить с цитированием
Старый 21.06.2012, 23:35   #3
SaNeKBF
Пользователь
 
Аватар для SaNeKBF
 
Регистрация: 17.12.2010
Сообщений: 35
По умолчанию

Ну если кликнуть по определенному элементу флешки в веб браузере как с штмл страницей... Без понятия. Самому интерестно. Мало ифнормации на эту тематику.
А как альтернатива для такой простой задачи можно имитировать клик мыши по координатам.
SaNeKBF вне форума Ответить с цитированием
Старый 22.06.2012, 12:44   #4
Reskov
Форумчанин
 
Аватар для Reskov
 
Регистрация: 17.12.2008
Сообщений: 250
По умолчанию

простите а непойдет просто алтернативный вариант встраивать видео? например так должно работать

Код:
<script src="http://www.google.com/jsapi"></script>
<script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js"></script>
<div id="ytapiplayer">You need Flash player 8+ and JavaScript enabled to view this video.</div>
<script type="text/javascript">
    google.load("swfobject", "2.1");
    function onYouTubePlayerReady(playerId) {
        ytplayer = document.getElementById("myytplayer");
        ytplayer.playVideo();
        ytplayer.mute();
    }
    var params = { allowScriptAccess: "always" };
    var atts = { id: "myytplayer" };
    swfobject.embedSWF("http://www.youtube.com/v/J2hqhNhAj_g?enablejsapi=1&playerapiid=ytplayer&allowFullScreen=true&version=3",
    "ytapiplayer", "425", "356", "8", null, null, params, atts);

</script>
а так наверное кроме как программно навести мышку и кликнуть даже и не знаю...
Reskov вне форума Ответить с цитированием
Старый 22.06.2012, 19:06   #5
4Dragon
 
Регистрация: 17.06.2012
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Reskov Посмотреть сообщение
простите а непойдет просто алтернативный вариант встраивать видео? например так должно работать

Код:
<script src="http://www.google.com/jsapi"></script>
<script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js"></script>
<div id="ytapiplayer">You need Flash player 8+ and JavaScript enabled to view this video.</div>
<script type="text/javascript">
    google.load("swfobject", "2.1");
    function onYouTubePlayerReady(playerId) {
        ytplayer = document.getElementById("myytplayer");
        ytplayer.playVideo();
        ytplayer.mute();
    }
    var params = { allowScriptAccess: "always" };
    var atts = { id: "myytplayer" };
    swfobject.embedSWF("http://www.youtube.com/v/J2hqhNhAj_g?enablejsapi=1&playerapiid=ytplayer&allowFullScreen=true&version=3",
    "ytapiplayer", "425", "356", "8", null, null, params, atts);

</script>
а так наверное кроме как программно навести мышку и кликнуть даже и не знаю...
Все работает шикарно! Огромное спасибо!
4Dragon вне форума Ответить с цитированием
Старый 22.06.2012, 21:28   #6
4Dragon
 
Регистрация: 17.06.2012
Сообщений: 9
По умолчанию

Хотя нет, появилась проблема. YouTube не засчитывает просмотр. Может можно частично интегрировать этот код в страничку с видео? Надо попробовать...

P.S. У кого-нибудь другие идеи есть?
4Dragon вне форума Ответить с цитированием
Старый 24.06.2012, 22:42   #7
Reskov
Форумчанин
 
Аватар для Reskov
 
Регистрация: 17.12.2008
Сообщений: 250
По умолчанию

я думаю на ютубе как и у всех солидных дядек стоит привязка к айпи или что-то вроде того...
Reskov вне форума Ответить с цитированием
Старый 01.07.2012, 03:50   #8
lambidu
Новичок
Джуниор
 
Регистрация: 01.07.2012
Сообщений: 1
По умолчанию

Цитата:
Сообщение от 4Dragon Посмотреть сообщение
В WebBrowser'е загружается страница с видео на YouTube. После этого нужно кликнуть (или послать команду) по кнопке Play и убрать звук (Mute). Как это сделать? Очень нужно!
топик уже старенкий...
но другим будет на пользу...

я задавался тем-же вопросом...
и в конце концов сделал симуляцию клика с помощью SendMesage

вот код... от которого можно оттолкнутся...

подключаем внешнию библиотеку...
PHP код:
        [DllImport("user32.dll"CharSet CharSet.Auto)]
        static 
extern IntPtr SendMessage(IntPtr hWndUInt32 MsgIntPtr wParamIntPtr lParam);

        [
DllImport("user32.dll"SetLastError true)]
        static 
extern IntPtr GetWindow(IntPtr hWndGetWindowCommands uCmd);

        [
DllImport("user32.dll"SetLastError trueCharSet CharSet.Auto)]
        static 
extern int GetClassName(IntPtr hWndStringBuilder lpClassNameint nMaxCount);

        
enum GetWindowCommands uint {
            
GW_HWNDFIRST 0,
            
GW_HWNDLAST 1,
            
GW_HWNDNEXT 2,
            
GW_HWNDPREV 3,
            
GW_OWNER 4,
            
GW_CHILD 5,
            
GW_ENABLEDPOPUP 6
        


ищем окно Флэшки...
PHP код:
            IntPtr Flash Browser.Handle;
            
StringBuilder ClassName = new StringBuilder(100);
            
            while(
ClassName.ToString() != "MacromediaFlashPlayerActiveX") {
                
Flash GetWindow(FlashGetWindowCommands.GW_CHILD);
                
GetClassName(FlashClassNameClassName.Capacity);
            } 
симулируем клик...

PHP код:
            // Нажимаем кнопу
            
SendMessage(Flash0x201IntPtr.Zero, (IntPtr)((<< 16) | X));

            
// Отпускаем кнопку
            
SendMessage(Flash0x202IntPtr.Zero, (IntPtr)((<< 16) | X)); 
Коды сообщений для SendMessage (второй параметр) можно найти на сайте майкрософта... или в гугле...
щас точно помню 0х200 это движение мышки...
там и скрул есть... и правая кнопка... и куча других вкусных плющек...

Вот так...
lambidu вне форума Ответить с цитированием
Старый 03.08.2012, 07:23   #9
viktor-zakal
Пользователь
 
Регистрация: 14.05.2010
Сообщений: 14
По умолчанию

А можно начинающему кодеру обьяснить этот код, чтоб на DELPHI заработал
viktor-zakal вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WebBrowser.Refresh не отображается Flash ролик xew Общие вопросы Delphi 0 06.10.2011 11:13
webBrowser+Flash offname C# (си шарп) 3 29.08.2011 15:12
Загрузка FLASH из dll в WebBrowser qvest Мультимедиа в Delphi 6 06.03.2011 12:43
WebBrowser+Flash-форма mryasov Работа с сетью в Delphi 2 26.11.2009 20:20
Работа с Flash-ем в компоненте Webbrowser. ratttx Свободное общение 0 09.10.2007 11:17