Player Control

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Player Control

Сообщение ErmolenkoM » Чт ноя 28, 2013 9:29 am

Обсуждение страницы Player Control
aka msh555
Cubian на Cubietruck, Connect
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Player Control

Сообщение ErmolenkoM » Чт ноя 28, 2013 10:10 am

Добрый день!

Долго я бился, что бы Алиса заиграла музыку. Пробовал разные варианты. Рассказываю на чем остановился.

У меня МЖД установлена на Ubuntu. Медиаплеер использую VLC, он установлен на сервере и на клиенте.
Под виндой в настройках поставлена галка WEB (и задан пароль, без него не работает), под убунтой запускаю так:

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

vlc -I http
Итого имеем вебинтерфейс на 8080 порту на 2-х машинах.
По умолчанию модуль "Player Control" МЖД работает через RC. Поэтому чуть-чуть изменим исходники и добавим работу с VLC через вебинтерфейс.

Итак.
www/templates/terminals/terminals_edit.html
после сточки

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

   <option value="foobar"[#if PLAYER_TYPE=="foobar"#] selected[#endif#]>Foobar2000
Вставляем строчку с нашим новым типом плеера. То есть теперь будет выглядеть так:

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

   <option value="foobar"[#if PLAYER_TYPE=="foobar"#] selected[#endif#]>Foobar2000
   <option value="vlcweb"[#if PLAYER_TYPE=="vlcweb"#] selected[#endif#]>VLC over HTTP
www/modules/app_player/app_player.class.php
после строчек

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

   } elseif ($terminal['PLAYER_TYPE']=='foobar') {
    include(DIR_MODULES.'app_player/foobar.php');
Вставляем строчки с нашим вызовом нового плеера. То есть теперь будет выглядеть так:

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

   } elseif ($terminal['PLAYER_TYPE']=='foobar') {
    include(DIR_MODULES.'app_player/foobar.php');
   
   } elseif ($terminal['PLAYER_TYPE']=='vlcweb') {
    include(DIR_MODULES.'app_player/vlcweb.php');
создадим новую библиотеку работы с нашим плеером
www/modules/app_player/vlcweb.php

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

<?php
 /**
 * Title: VLC over HTTP
 *
 * Description
 *
 * @access public
 */

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    $uid = rand(1, 9999999);

    if ($command=='refresh') {
      $out['PLAY']=preg_replace('/\\\\$/is', '', $out['PLAY']);
     // $path=str_replace('/', "\\", ($out['PLAY']));
      $path=$out['PLAY'];
      
      curl_setopt($ch, CURLOPT_URL, "http://".$terminal['HOST'].":".$terminal['PLAYER_PORT']."/requests/status.xml?command=in_play&input=".urlencode($path));
      $res=curl_exec($ch);
    }
      if ($command=='pause') {
       curl_setopt($ch, CURLOPT_URL, "http://".$terminal['HOST'].":".$terminal['PLAYER_PORT']."/requests/status.xml?command=pl_pause");
       $res=curl_exec($ch);
      }


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

      if ($command=='next') {
       curl_setopt($ch, CURLOPT_URL, "http://".$terminal['HOST'].":".$terminal['PLAYER_PORT']."/requests/status.xml?command=pl_next");
       $res=curl_exec($ch);
      }

      if ($command=='prev') {
       curl_setopt($ch, CURLOPT_URL, "http://".$terminal['HOST'].":".$terminal['PLAYER_PORT']."/requests/status.xml?command=pl_previous");
       $res=curl_exec($ch);
      }

      if ($command=='close') {
       curl_setopt($ch, CURLOPT_URL, "http://".$terminal['HOST'].":".$terminal['PLAYER_PORT']."/requests/status.xml?command=pl_stop");
       $res=curl_exec($ch);
      }

   $res=''; // ->NULL

   //print_r();
?>
Для изменения громкости звука из выпадающего списка необходимо создать метод Computer -> VolumeLevelChanged

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

if ($params['VALUE']){
  $this->setProperty('volumeLevel',$params['VALUE']);
}
$volume = $this->getProperty('volumeLevel');

safe_exec('amixer set Master '.$volume.'% unmute');
say("Изменилась громкость до ".$params['VALUE']." процентов");
Маленькое послесловие.
Итого. Алиса играет музыку стандартными средствами (кнопки управления, медиатека) на сервере (Убунта) и клиенте(Винда). Кроме того можно управлять воспроизведением видео.(У меня у дивана выключатель NooLite, на скриптовую кнопку которого навешено: паузу VLC плееру на винде, включить свет. Удобно запаузить кино, потом продолжить).

Просьба добавить в основную ветку.
aka msh555
Cubian на Cubietruck, Connect
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Player Control

Сообщение Amarok » Чт ноя 28, 2013 11:31 am

msh555 писал(а):Обсуждение страницы Player Control
А страница - пуста :(
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Galakart
Сообщения: 66
Зарегистрирован: Вт авг 06, 2013 3:49 pm
Откуда: Новокузнецк
Благодарил (а): 0
Поблагодарили: 7 раз

Re: Player Control

Сообщение Galakart » Чт ноя 28, 2013 4:28 pm

Подскажите, где поправить кодировку чтобы имена файлов нормально в веб-интерфейсе отображались?
mjdm.JPG
mjdm.JPG (22.03 КБ) 19100 просмотров
Linux, Raspberry pi
Мой профиль в CONNECT
MajorDroid
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Player Control

Сообщение ErmolenkoM » Чт ноя 28, 2013 8:56 pm

Та же проблема.
aka msh555
Cubian на Cubietruck, Connect
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Player Control

Сообщение sergejey » Пт ноя 29, 2013 11:36 am

Я так понимаю, что система Linux? В файле ./modules/app_mediabrowser/app_mediabrowser.class.php в нескольких местах используются функции win2utf и utf2win -- можно попробовать их убрать, при этом название папок и файлов не будет преобразовываться. В Windows это нужно, может в Linux это мешает.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Player Control

Сообщение ErmolenkoM » Пт ноя 29, 2013 3:31 pm

Убрал win2utf и utf2win из app_mediabrowser.class.php. Теперь русские буквы нормально отображает. Правда запуск музыки все равно не пашет :-) разбираюсь.
И да, у меня Ubunta.
aka msh555
Cubian на Cubietruck, Connect
Galakart
Сообщения: 66
Зарегистрирован: Вт авг 06, 2013 3:49 pm
Откуда: Новокузнецк
Благодарил (а): 0
Поблагодарили: 7 раз

Re: Player Control

Сообщение Galakart » Пт ноя 29, 2013 5:38 pm

Почему-то играет только песни, в пути и названии которых нет пробелов. Если запустить файл с пробелами, VLC выкидывает в лог ошибку:
filesystem access error: cannot open file /mnt/usbhdd_share/Music/Mymusic/Big+city+-+stick+em+up.mp3 (No such file or directory)
наверно ему не нравится что пробелы заменены на плюсы.
Если из веб-интерфейса поставить на проигрывание папку целиком (которая тоже без пробелов), то тогда все файлы в ней нормально играют
Последний раз редактировалось Galakart Чт дек 05, 2013 5:20 pm, всего редактировалось 1 раз.
Linux, Raspberry pi
Мой профиль в CONNECT
MajorDroid
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Player Control

Сообщение Amarok » Ср дек 04, 2013 6:17 am

msh555 писал(а):Под виндой в настройках поставлена галка WEB (и задан пароль, без него не работает)
А вот где пароль ставить - ненашел :roll:
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Player Control

Сообщение ErmolenkoM » Ср дек 04, 2013 7:31 am

BlackWarrior писал(а):
msh555 писал(а):Под виндой в настройках поставлена галка WEB (и задан пароль, без него не работает)
А вот где пароль ставить - ненашел :roll:
наверное под Линухом смотришь? Там нету. А под виндой есть :-)
aka msh555
Cubian на Cubietruck, Connect
Ответить