Player Control
Модератор: immortal
-
- Сообщения: 560
- Зарегистрирован: Ср сен 04, 2013 10:31 am
- Откуда: Самара
- Благодарил (а): 99 раз
- Поблагодарили: 140 раз
- Контактная информация:
-
- Сообщения: 560
- Зарегистрирован: Ср сен 04, 2013 10:31 am
- Откуда: Самара
- Благодарил (а): 99 раз
- Поблагодарили: 140 раз
- Контактная информация:
Re: Player Control
Добрый день!
Долго я бился, что бы Алиса заиграла музыку. Пробовал разные варианты. Рассказываю на чем остановился.
У меня МЖД установлена на Ubuntu. Медиаплеер использую VLC, он установлен на сервере и на клиенте.
Под виндой в настройках поставлена галка WEB (и задан пароль, без него не работает), под убунтой запускаю так:
Итого имеем вебинтерфейс на 8080 порту на 2-х машинах.
По умолчанию модуль "Player Control" МЖД работает через RC. Поэтому чуть-чуть изменим исходники и добавим работу с VLC через вебинтерфейс.
Итак.
www/templates/terminals/terminals_edit.html
после сточки
Вставляем строчку с нашим новым типом плеера. То есть теперь будет выглядеть так:
www/modules/app_player/app_player.class.php
после строчек
Вставляем строчки с нашим вызовом нового плеера. То есть теперь будет выглядеть так:
создадим новую библиотеку работы с нашим плеером
www/modules/app_player/vlcweb.php
Для изменения громкости звука из выпадающего списка необходимо создать метод Computer -> VolumeLevelChanged
Маленькое послесловие.
Итого. Алиса играет музыку стандартными средствами (кнопки управления, медиатека) на сервере (Убунта) и клиенте(Винда). Кроме того можно управлять воспроизведением видео.(У меня у дивана выключатель NooLite, на скриптовую кнопку которого навешено: паузу VLC плееру на винде, включить свет. Удобно запаузить кино, потом продолжить).
Просьба добавить в основную ветку.
Долго я бился, что бы Алиса заиграла музыку. Пробовал разные варианты. Рассказываю на чем остановился.
У меня МЖД установлена на Ubuntu. Медиаплеер использую VLC, он установлен на сервере и на клиенте.
Под виндой в настройках поставлена галка WEB (и задан пароль, без него не работает), под убунтой запускаю так:
Код: Выделить всё
vlc -I http
По умолчанию модуль "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
после строчек
Код: Выделить всё
} 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();
?>
Код: Выделить всё
if ($params['VALUE']){
$this->setProperty('volumeLevel',$params['VALUE']);
}
$volume = $this->getProperty('volumeLevel');
safe_exec('amixer set Master '.$volume.'% unmute');
say("Изменилась громкость до ".$params['VALUE']." процентов");
Итого. Алиса играет музыку стандартными средствами (кнопки управления, медиатека) на сервере (Убунта) и клиенте(Винда). Кроме того можно управлять воспроизведением видео.(У меня у дивана выключатель NooLite, на скриптовую кнопку которого навешено: паузу VLC плееру на винде, включить свет. Удобно запаузить кино, потом продолжить).
Просьба добавить в основную ветку.
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Player Control
А страница - пустаmsh555 писал(а):Обсуждение страницы Player Control
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
-
- Сообщения: 66
- Зарегистрирован: Вт авг 06, 2013 3:49 pm
- Откуда: Новокузнецк
- Благодарил (а): 0
- Поблагодарили: 7 раз
Re: Player Control
Подскажите, где поправить кодировку чтобы имена файлов нормально в веб-интерфейсе отображались?
-
- Сообщения: 560
- Зарегистрирован: Ср сен 04, 2013 10:31 am
- Откуда: Самара
- Благодарил (а): 99 раз
- Поблагодарили: 140 раз
- Контактная информация:
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Player Control
Я так понимаю, что система Linux? В файле ./modules/app_mediabrowser/app_mediabrowser.class.php в нескольких местах используются функции win2utf и utf2win -- можно попробовать их убрать, при этом название папок и файлов не будет преобразовываться. В Windows это нужно, может в Linux это мешает.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 560
- Зарегистрирован: Ср сен 04, 2013 10:31 am
- Откуда: Самара
- Благодарил (а): 99 раз
- Поблагодарили: 140 раз
- Контактная информация:
Re: Player Control
Убрал win2utf и utf2win из app_mediabrowser.class.php. Теперь русские буквы нормально отображает. Правда запуск музыки все равно не пашет разбираюсь.
И да, у меня Ubunta.
И да, у меня Ubunta.
-
- Сообщения: 66
- Зарегистрирован: Вт авг 06, 2013 3:49 pm
- Откуда: Новокузнецк
- Благодарил (а): 0
- Поблагодарили: 7 раз
Re: Player Control
Почему-то играет только песни, в пути и названии которых нет пробелов. Если запустить файл с пробелами, VLC выкидывает в лог ошибку:
filesystem access error: cannot open file /mnt/usbhdd_share/Music/Mymusic/Big+city+-+stick+em+up.mp3 (No such file or directory)
наверно ему не нравится что пробелы заменены на плюсы.
Если из веб-интерфейса поставить на проигрывание папку целиком (которая тоже без пробелов), то тогда все файлы в ней нормально играют
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 раз.
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Player Control
А вот где пароль ставить - ненашелmsh555 писал(а):Под виндой в настройках поставлена галка WEB (и задан пароль, без него не работает)
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
-
- Сообщения: 560
- Зарегистрирован: Ср сен 04, 2013 10:31 am
- Откуда: Самара
- Благодарил (а): 99 раз
- Поблагодарили: 140 раз
- Контактная информация:
Re: Player Control
наверное под Линухом смотришь? Там нету. А под виндой естьBlackWarrior писал(а):А вот где пароль ставить - ненашелmsh555 писал(а):Под виндой в настройках поставлена галка WEB (и задан пароль, без него не работает)