Liquid Soap 1.1 与 1.3 - 动态播放列表

Liquid Soap 1.1 vs 1.3 - Dynamic playlist

场景:

  • Ubuntu 17.04
  • Liquid Soap 1.1.1 installed by apt-get
  • Liquid Soap 1.3.1 installed by OPAM

在 1.1.1 上,我无法使用 AAC+ 编码器。所以我安装了支持 AAC+ 的 1.3.1。但是使用相同的 .liq 文件,两个版本的行为不同。

出于某种原因,1.1 有效,1.3 无效:

def my_request_function() =
  # Get the first line of my external process
  result = list.hd(get_process_lines("php -q liquid.php"))
  # Create and return a request using this result
  request.create(result)
end

错误:

At line 17, char 24:
  this value has type
    (default:_)->_ (inferred at line 15, char 19-58)
  but it should be a subtype of
    string

我想从 PHP 脚本中读取 "next song"。在 1.1.1 上可以使用 MP3 (+icecast2),但是因为我需要 AAC+,所以我使用的是 1.3.1,所以我不知道如何读取外部脚本。

有什么想法吗?谢谢。

1.3 在 list.hd 和其他列表函数中添加了另一个参数。 https://github.com/savonet/liquidsoap/blob/master/CHANGES#L52

您可以使用新的默认值参数更新您的代码,它应该可以工作。

  result = list.hd(default="", get_process_lines("php -q liquid.php"))