Stream liquidsoap不';t重新加载播放列表文件

Stream liquidsoap不';t重新加载播放列表文件,stream,streaming,audio-streaming,liquidsoap,Stream,Streaming,Audio Streaming,Liquidsoap,我对液体肥皂有一个很奇怪的问题。我有以下播放列表: myplaylist = playlist(mode="normal",playlist_file,reload_mode="rounds",reload=1) myplaylist = on_metadata(apply_metadata,myplaylist) 其中,apply_metadata调用python脚本,该脚本在调用时立即更新播放列表,但有时Liquidsoap会在重新加载后继续播放旧的播放列表,即使调用了apply_met

我对液体肥皂有一个很奇怪的问题。我有以下播放列表:

myplaylist = playlist(mode="normal",playlist_file,reload_mode="rounds",reload=1)

myplaylist = on_metadata(apply_metadata,myplaylist)
其中,apply_metadata调用python脚本,该脚本在调用时立即更新播放列表,但有时Liquidsoap会在重新加载后继续播放旧的播放列表,即使调用了apply_metadata过程

提前感谢你的帮助

Liquidsoap脚本的全部代码:

# This function is called when
# a new metadata block is passed in
# the stream.
def apply_metadata(m) =
  title = m["filename"]
  artist = m["artist"]
  print("Now playing: #{title} by #{artist}")

  filename = string.split(separator="/",title) # rozdelime cestu po lomitkach
  filename = list.nth(list.rev(filename),0) # vezmeme meno suboru
  filename = list.nth(string.split(separator="\.",filename),0) # odpojime koncovku .mp3

  command = "python3.3 feedback.py " ^ filename
  system(command)

end

#!/usr/bin/liquidsoap 
# Log dir 
set("log.file.path","/tmp/basic-radio.log")

#tidy up before playing playlist
playlist_file = "playlist.m3u"
system("python3.3 feedback.py -init")


# Music 
myplaylist = playlist(mode="normal",playlist_file,reload_mode="rounds",reload=1)

myplaylist = on_metadata(apply_metadata,myplaylist)

# Stream it out 
output.icecast(%mp3, host = "localhost", port = 8080, password = "baldur", mount = "stream", myplaylist, fallible=true)
我终于发现:

我想到的第一个问题是,您可能正在使用playlist(),而这种方式并不是有意的

您考虑过使用request.dynamic吗?该操作符可让您完全控制下一首歌曲的播放,下一首曲目的回拨可以用您选择的任何语言编写,这也使得播放更加方便

祝你好运

罗曼

你也可以使用

myplaylist = playlist(mode="normal",playlist_file,reload_mode="watch")
这将在检测到任何更改后立即重新加载播放列表