Решение некторых проблем с медиа модулем в Windows версии

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

Ответить
shurlin
Сообщения: 39
Зарегистрирован: Вс апр 22, 2012 3:18 pm
Благодарил (а): 0
Поблагодарили: 4 раза

Решение некторых проблем с медиа модулем в Windows версии

Сообщение shurlin » Сб май 12, 2012 1:18 am

Всем привет,

дошли руки покапаться с медиа браузером, который напрочь отказывался играть что либо в моем случае (система на Windows). В общем после продолжительного поиска и попыток понять как оно работает я случайно набрел на такой ньюанс. Запрос от медиа браузера в плеер шел с неправильным путем к файлу, получалось что то типа "http://http://путь к файлу" мне показалось что это не верно и я полез править файл \htdocs\modules\app_player\app_player.class.php в котором убрал из строк управлений http://

как то так:

curl_setopt($ch, CURLOPT_URL, "http://".$terminal['HOST'].":".$terminal['PLAYER_PORT']."/rc/?command=vlc_play&param=".urlencode(''.str_replace('/', "\\", ($out['PLAY'])).''));

и так везде в строках которые отмечали за управление

Код: Выделить всё

 if ($command=='refresh') {
       $out['PLAY']=preg_replace('/\\\\$/is', '', $out['PLAY']);
       curl_setopt($ch, CURLOPT_URL, "".$terminal['HOST'].":".$terminal['PLAYER_PORT']."/rc/?command=vlc_play&param=".urlencode(''.str_replace('/', "\\", ($out['PLAY'])).''));
        /// echo "http://".$terminal['HOST']."/rc/?command=vlc_play&param=".urlencode(''.str_replace('/', "\\", utf2win($out['PLAY'])).'');
       $res=curl_exec($ch);
      }

      if ($command=='fullscreen') {
       curl_setopt($ch, CURLOPT_URL, "".$terminal['HOST'].":".$terminal['PLAYER_PORT']."/rc/?command=vlc_fullscreen");
       $res=curl_exec($ch);
      }


      if ($command=='pause') {
       curl_setopt($ch, CURLOPT_URL, "".$terminal['HOST'].":".$terminal['PLAYER_PORT']."/rc/?command=vlc_pause");
       $res=curl_exec($ch);
      }

      if ($command=='next') {
       curl_setopt($ch, CURLOPT_URL, "".$terminal['HOST'].":".$terminal['PLAYER_PORT']."/rc/?command=vlc_next");
       $res=curl_exec($ch);
      }

      if ($command=='prev') {
       curl_setopt($ch, CURLOPT_URL, "".$terminal['HOST'].":".$terminal['PLAYER_PORT']."/rc/?command=vlc_prev");
       $res=curl_exec($ch);
      }
после этого плеер наконец заработал, но выяснился еще 1 момент - при нажатии паузы, vlc останавливал проигрывание, но при этом запускался и windows media player, что мне не нравилось :geek:

пришлось запустить руки и в файл htdocs\rc\scripts\vlc_pause.au3 и заменить код на этот

Код: Выделить всё

Opt("WinTitleMatchMode", 2)
If WinExists("VLC") Then
    WinActivate("VLC", "")
    Send("PostMessage(vlc_handle, WM_Command,7107,0);")
EndIf
те по сути я заменил псевдо нажатие клавиши пауза на клавиатуре(которая была привязана к стандартному медиа плееру и который она вызывала) на комманду конкретно для плеера vlc

список других комманд, если кто хочет чуть дальше пойти, я нашел здесь
http://forum.videolan.org/viewtopic.php?t=13395

Сейчас вроде все заработало, но плеер требует доработки по-моему. Следующий шаг разобраться как же работает кнопка next, у меня она упорно отправляет на файл в другом месте, не тот что должен быть следующим в папке..
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Решение некторых проблем с медиа модулем в Windows верси

Сообщение sergejey » Пн май 14, 2012 1:43 pm

Хм... на самом деле там стоят http:// для того, чтобы хост можно было указывать просто "localhost" или "myfavoritecomputer1" или ещё как-то, а у тебя похоже в хосте как раз стоит "http://localhost" и поэтому получалось два раза http. Но я проверю, может быть оно в дефолтной поставке идёт вместе с http: -- сейчас точно не вспомню.

По поводу управления плэером -- странно, что система перехватывает нажатие стандартных клавиш и запускает другой проигрыватель. Обычно клавиши Play/Pause, Next и т.п. отрабатывают на текущем плэере, который в данный момент запущен. По крайней мере у меня так... Но интересно было узнать, что бывает по-другому :)

Модуль плэера на самом деле требует доработки ещё, но по поводу вышеописанного пока не знаю стоит ли вносить изменения в основной код, надо узнать как оно себя у других ведёт, поэтому если кто ещё с подобным сталкивался, то делитесь опытом.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
halt
Сообщения: 8
Зарегистрирован: Сб сен 22, 2012 1:16 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Решение некторых проблем с медиа модулем в Windows верси

Сообщение halt » Сб сен 22, 2012 1:29 pm

У меня так же проблема с модулем проигрывания, почему то не запускается vlc. Правда система Windows 7 sp1. Медиа браузер работае норм. при нажатии кнопки play пишет "refresh on MAIN OK ()

" но ничего не происходит(
halt
Сообщения: 8
Зарегистрирован: Сб сен 22, 2012 1:16 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Решение некторых проблем с медиа модулем в Windows верси

Сообщение halt » Вт сен 25, 2012 9:52 am

Как понял не правильно настроен сам VLC но так и не смог нормально его настроить. С фубаром получилось вроде. Но тоже прогоняет надо использовать веб морду как минимум. VLC сам запускается из мажордомо или его надо запускать на старте?
Ответить