3

设想:

  • Ubuntu 17.04
  • apt-get 安装的 Liquid Soap 1.1.1
  • OPAM 安装的 Liquid Soap 1.3.1

在 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 脚本中读取“下一首歌曲”。在 1.1.1 上可以使用 MP3 (+icecast2),但由于我需要 AAC+,所以我使用的是 1.3.1,所以我无法弄清楚如何阅读外部脚本。

有任何想法吗?谢谢你。

4

1 回答 1

3

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

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

  result = list.hd(default="", get_process_lines("php -q liquid.php"))
于 2017-07-18T04:01:58.180 回答