如何在Liquidsap中一次只加载一条轨道



我有一个MySQL数据库,它存储我的所有曲目及其相关信息。数据库中的一个表是队列表,我从中提取一个曲目供Liquidsap播放。我正在使用request.dynamic.list.提供这些曲目以与Liquidsap一起播放

def get_track() = 
# Get the first line of my external process
result = list.hd(default="", get_process_lines(scripts ^ "get_track.py"))
print(result)
# Create and return a request using this result
[request.create(result)]
end
# Create the source
sourcetrack = request.dynamic.list(id="play_queue", conservative=false, get_track)

get_track.py脚本从数据库中的队列表中检索一条记录。

我注意到Liquidsoap在启动时会抓住两条轨道。两个得到";"已接受";一个是";准备">

有没有办法让Liquidsoap一次只接受一首曲目,只有在接近当前播放曲目的末尾时才等待接受下一首曲目?

我也有一些计划好的程序被添加到数据库的队列表中,当这种情况发生时,所有轨道都会从数据库的队列表格中清除,然后程序就会被添加到队列表格中。

由于Liquidsoap在播放";准备好的";track,有没有办法删除该音轨,这样Liquidsap接下来就不会播放该音轨,而是再次调用get_track.py脚本,从数据库的队列表中加载新音轨?

Liquidsap总是提前准备流的下一个项目,这是其调度器的基本原理。例如,这允许在播放下载的曲目之前开始下载。只要您使用request.dynamic.list,被调用的脚本就必须处理好这一点。换句话说,你不能仅仅依靠时钟时间来评估返回的轨迹。据我所知,您可能更喜欢使用request.queue源代码,并让脚本通过telnet服务器按时推送每个请求。

相关内容

  • 没有找到相关文章

最新更新