Страница 1 из 7

VLC и управление им

Добавлено: Вт июн 16, 2015 3:39 pm
Mescaline
Доброго времени суток, люди добрые :)
Только я разобрался с "голосом" Алисы и голосовым управлением системой, как столкнулся с другой проблемой...
После установки системы в шаблонах поведения есть такой шаблон "(останови|выключи) музыку", в котором есть такая строка:
getURL("http://localhost/rc/?command=vlc_pause",0);

Я изменил его, подставив адрес своей машины и порт:

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

getURL("http://192.168.12.12:8080/rc/?command=vlc_pause",0); 
Http-страница 192.168.12.12:8080 открывается, а 192.168.12.12:8080/rc/ у меня отсутствует. Вместо нее у меня есть папка "requests". Если поменять "rc" на "requests" толку 0. В итоге заработала у меня только вот такая ссылка:

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

http://192.168.12.12:8080/requests/status.xml?command=pl_stop 
Если ее забить вручную, все работает, воспроизведение останавливается, но при выполнении запроса "останови музыку" Алиса говорит "Готово", но воспроизведение не останавливается.
Сейчас скрипт выглядит так:

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

getURL("http://localhost:8080/requests/status.xml?command=pl_stop",0);
say(LANG_DONE); 
и не работает

Подскажите пожалуйста, что я делаю не так :cry:
P.S.версия VLC 2.2.1
P.P.S. и что означает "0" в конце адреса?
Заранее спасибо)

Re: VLC и управление им

Добавлено: Ср июн 17, 2015 7:46 am
Amarok
А если так:

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

$runradio="http://";
$ip=$_SERVER['REMOTE_ADDR'];//узнаем IP терминала пославшего запрос
if ($ip == "192.168.0.81") {//если IP от GPad,
$ip=gg('Amarok.IPint');     //заменим его на основной IP Амарока
}                           //
$runradio.=$ip;
$runradio.=":8080/requests/status.xml?command=pl_stop";
getURL($runradio,0);
 

Re: VLC и управление им

Добавлено: Ср июн 17, 2015 9:12 am
Mescaline
Amarok писал(а):А если так:

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

$runradio="http://";
$ip=$_SERVER['REMOTE_ADDR'];//узнаем IP терминала пославшего запрос
if ($ip == "192.168.0.81") {//если IP от GPad,
$ip=gg('Amarok.IPint');     //заменим его на основной IP Амарока
}                           //
$runradio.=$ip;
$runradio.=":8080/requests/status.xml?command=pl_stop";
getURL($runradio,0);
Спасибо за то, что отозвались, но, если честно, я заходил в Ваш коннект и находил там эти строчки, они не работают тоже. Я их видоизменил так:

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

$runradio="http://";
$ip=$_SERVER['REMOTE_ADDR'];
if ($ip == "192.168.12.1") {
$ip="192.168.12.12";     
}                          
$runradio.=$ip;
$runradio.=":8080/requests/status.xml?command=pl_stop";
getURL($runradio,0);
192.168.12.1 - это ip компьютера, с которого я посылаю запрос, а .12.12 - адрес сервера с Алисой. Поэтапно проверил, переменная $ip=$_SERVER['REMOTE_ADDR']; получает значение моего Ip (.12.1) корректно, далее все также отрабатывается. Интереса ради, в конец скрипта добавил:
say("$runradio");
Алиса не остановила воспроизведение, но в чат при этом вывела правильную строку:
http://192.168.12.12:8080/requests/stat ... nd=pl_stop
Тут же скопировал ее в строку браузера и послал запрос - музыка остановилась, команда сработала.
На другой машине VLC 2.0.5 версии, та же беда. Может быть все дело в пароле на VLC, без которого Алиса не может получить доступ к указанному URL?

Re: VLC и управление им

Добавлено: Ср июн 17, 2015 9:33 am
Amarok
у меня без пароля

Re: VLC и управление им

Добавлено: Ср июн 17, 2015 10:07 am
Mescaline
Нужно по-чаще вспоминать старую пословицу "Утро вечера мудренее"... На свежую голову нашлась причина (ну, по-мимо моей "дырявой" головы :D ). В моей версии VLC (2.1.1) не оказалось файла .hosts по пути (C:\Program Files (x86)\VideoLAN\VLC\lua\http), переустановил на версию 2.0.5, файл появился.
В настройках VLC убрал пароль и все заработало 8-) . Видимо из-за отсутствия файла в новой версии не работало.
Спасибо за помощь :)

Re: VLC и управление им

Добавлено: Ср июн 17, 2015 10:12 am
Amarok
Я использую старую версию. Держу её в архиве и ставлю службой, на терминалах

Re: VLC и управление им

Добавлено: Вс июл 19, 2015 2:35 pm
Александр
Здравствуйте! После установки, при попытке включить музыку через команду "поставь музыку" появляется следующее:

Прочитать файл не удалось:
VLC не может открыть файл «C:\_majordomo\htdocs\.\music\Beyonce - Beyonce (2013)» (Bad file descriptor).
Этот источник не открывается:
VLC не может открыть MRL 'file:///C:/_majordomo/htdocs/./music/Beyonce%20-%20Beyonce%20%282013%29'. Ищите более подробную информацию в лог-файле.

Подскажите, пожалуйста, в чём проблема?
Заранее благодарю!

Re: VLC и управление им

Добавлено: Вс авг 09, 2015 7:57 pm
byh
Всем привет!! Похожая проблема как у Александра, но вот что заметил. Если в настройках терминала выставить тип плеера VLC или по умолчанию, то файл запускается, по такой команде =app_mediabrowser&inst=&folder=.%2F.%2Ftest%2F&file=.%2Ftest%2F1+test.mp3&collection_id=13&mode=play# и VLC его "кушает" нормально и в плей листе появляется название трека "1 test.mp3". Минус в том что при нажатии кнопки "Play", каждый раз открывается новый VLC плеер. А вот если в настройках терминала использовать "VLC over HTTP" по команде =app_mediabrowser&inst=&folder=.%2F.%2Ftest%2F&file=.%2Ftest%2F1+test.mp3&collection_id=13&mode=play# в VLC плеере появляется трек с названием "1+test.mp3". В общем все пробелы залетают в VLC как знак "+". Если в названии трека и папок нет пробелов, все запускается. Народ, куда копать?


Вроде разобрался. В файле \_majordomo\htdocs\modules\app_player\vlcweb.php в строке(21 у меня) curl_setopt($ch, CURLOPT_URL, $playerAddr . "/requests/status.xml?command=in_play&input=" . urlencode($path)); поменял urlencode на rawurlencode и все заработало.

Re: VLC и управление им

Добавлено: Пн авг 10, 2015 3:34 pm
sergejey
Насчёт "каждый раз открывается новый VLC плеер" -- в самих настройках плеера есть опция использования одной копии, чтобы они не плодились а просто отправлялась команда уже запущенному экземпляру.
Про rawurlencode -- интересная находа, надо попробовать.

Re: VLC и управление им

Добавлено: Сб фев 20, 2016 11:41 am
imaverick
Может быть кому пригодится, регулировка громкости в vlc :
http://localhost:8080/requests/status.x ... me&val=-20 - уменьшить громкость, где-то на 8%,
http://localhost:8080/requests/status.x ... me&val=+20 - увеличить громкость .
Ну и, соответственно, для кода:
getURL("http://localhost:8080/requests/status.x ... val=+50",0);