Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины.
   

Вернуться   Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины. > Разработка > Поддержка локальной разработки модулей

Ответ
 
Опции темы Опции просмотра
Старый 13.02.2018, 17:33   #1
Lanket
Junior Member
 
Аватар для Lanket
 
Регистрация: 30.05.2017
Сообщений: 8
По умолчанию script.alicevox.master помогите доработать

Товарищ накатал простенький скрипт для проигрывания вав файлов которые генерит yandex tts из сообщений от системы управления умным домом мажордомо.
Если запутал: Мажордомо из текста уведомлений генерит с помощью yandex tts wav файл. Отправляет get запрос коди по сетке с ссылкой на вав файл. И всё вроде как работает.

Но есть одна проблемка: когда Мажордомо одновременно уведомляет об нескольких сообщениях то коди в связи с поступившими почти одновременно нескольками запросами запускает несколько экземпляров скрипта. Что приводит к почти одновременному проигрованию вав файлов. Соответственно ничего не понятно что говорят.

Собственно вопрос в том как заставить коди при поступлении запроса на запуск данного скрипта поставить в очередь на выполнение в случае если уже один экземпляр ещё проигрывает вав?

Сам скрипт :
Код:
import*xbmcaddon
import*xbmcgui
import*xbmc
import*sys

addon*******=*xbmcaddon.Addon()
addonname***=*addon.getAddonInfo('name')

xbmc.enableNavSounds(True)
xbmc.playSFX(sys.argv[1])

Зип для инсталляции в коди

http://cloud.tapatalk.com/s/5a82f6c1...vox.master.zip

Отправлено с моего Redmi Note 4 через Tapatalk
Lanket вне форума   Ответить с цитированием
   
Старый 17.02.2018, 11:36   #2
Lanket
Junior Member
 
Аватар для Lanket
 
Регистрация: 30.05.2017
Сообщений: 8
По умолчанию

Такое не реально реализовать?
Или никто не знает как?
Или я неправильно подошёл к запросу о помощи?
Или гуру знающий ответы на все вопросы в отпуске?

Хотя бы такое возможно или сколько не старайся всё равно не получится?

Отправлено с моего Redmi Note 4 через Tapatalk
Lanket вне форума   Ответить с цитированием
Старый 18.02.2018, 22:18   #3
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,946
По умолчанию

Значит нужно кастомное решение с очередью проигрывания, т. е. задача нетривиальная. Никто за вас писать код не будет.
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M вне форума   Ответить с цитированием
Старый 19.02.2018, 09:43   #4
Lanket
Junior Member
 
Аватар для Lanket
 
Регистрация: 30.05.2017
Сообщений: 8
По умолчанию

Это понятно что за спасибо никто не будет суетиться. Просьба состоит в том чтобы путь указали, может где-то какую либо настройку надо объявить.

То есть коди нельзя указать что данный скрипт может быть запущен только в одном экземпляре. А второй экземпляр должен быть поставлен в очередь на запуск.

Или второй вариант нельзя ли открыть некий поток воспроизведения в который попадая вавчики становились в очередь на воспроизведение.


Соответственно если ответы на оба вопроса НЕТ. То куда деваться.

Отправлено с моего Redmi Note 4 через Tapatalk
Lanket вне форума   Ответить с цитированием
Старый 20.02.2018, 10:38   #5
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,946
По умолчанию

Нет никакой настройки. Нужно делать либо какую-то глобальную блокировку, предотвращающую одновременное воспроизведение, либо сервис со своим API, принимающий команды на воспроизведение и ставящий их в очередь. И та, и другая задачи достаточно сложные, чтобы кто-то захотел в этом разбираться вместо вас.
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M вне форума   Ответить с цитированием
Старый 20.02.2018, 14:04   #6
bagol
Senior Member
 
Аватар для bagol
 
Регистрация: 19.04.2013
Сообщений: 1,010
По умолчанию

А в чем принципиальная разница воспроизведения сериалов и муз.альбомов? Нужен велосипед с пятью колесами и рулем сзади?
__________________
S905, Малина, Атом
bagol вне форума   Ответить с цитированием
Старый Вчера, 11:59   #7
Kvantos
Junior Member
 
Регистрация: 13.02.2014
Сообщений: 2
По умолчанию

2Lanket
Tarasfrompir взялся дорабатывать стандартный модуль Терминал. Там обещает "правильные" очереди. Уже реализована поддержка это плагина alicevox по такому API: http://xbmc:xbmc@192.168.1.51:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Addons. ExecuteAddon","params":{"addonid":"script.alicevox .master","params":["http://192.168.1.2/cms/cached/voice/rh_e4768dae4160a3eb9a57713580eff5e6.wav"]},"id":1}

Я сейчас немного дорабатываю этот плагин. И столкнулся со следующей проблемой: Если воспроизведение стоит на паузе - xbmc.playSFX() не воспроизводит. Воспроизведение начнется после того, как снял с паузы....
вероятно это баг коди, но не факт.
Если кто знает, как из плагина правильно поставить на паузу текущее воспроизведение и при этом, что бы играл xbmc.playSFX() дайте намек плиз...
Kvantos на форуме   Ответить с цитированием
Ответ
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
script.media.aggregator -=Vd=- Помощь по плагинам 2085 Вчера 14:58
script.module.vsdbg -=Vd=- Поддержка локальной разработки модулей 9 06.07.2017 17:36
herrnst-script.xbmc.lcd Bad Pixel Помощь по плагинам 10 21.12.2012 13:56
script.forum.browser seppius Помощь по плагинам 38 11.01.2011 20:57
Помощь script dUgar Поддержка платформы Linux \ Live 2 04.05.2010 20:53


Текущее время: 10:25. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.