gpt4 book ai didi

audio - Liquidsoap 未明确定义变量

转载 作者:行者123 更新时间:2023-12-02 01:59:18 24 4
gpt4 key购买 nike

好吧,我已经拔头发好几个小时了

Liquidsoap 对我不起作用,我知道这应该有用,但有一个明显的错误...

set("log.file",false)
set("log.stdout",true)
set("log.level",3)

podcasts = playlist("/home/user/icecast/ham.txt")

# This function turns a fallible
# source into an infallible source
# by playing a static single when
# the original song is not available
def my_safe(radio) =
# We assume that festival is installed and
# functional in liquidsoap
security = single("say:Hello, we are currently having some technical difficulties but we'll be back soon so stay tuned!")
# We return a fallback where the original
# source has priority over the security
# single. We set track_sensitive to false
# to return immediately to the original source
# when it becomes available again.
fallback(track_sensitive=false,[radio, security])
end

radio= podcasts
radio= my_safe(podcasts)

# A function that contains all the output
# we want to create with the final stream
def outputs(s) =
# First, we partially apply output.icecast
# with common parameters. The resulting function
# is stored in a new definition of output.icecast,
# but this could be my_icecast or anything.
output.icecast = output.icecast(host="localhost", password="foobar")
# An output in mp3 to the "live" mountpoint:
output.icecast(%mp3, mount="live",radio)
end

错误

At line 23, character 6: The variable radio defined here is not used anywhere
in its scope. Use ignore(...) instead of radio = ... if you meant
to not use it. Otherwise, this may be a typo or a sign that your script
does not do what you intend.

如果有人也可以解决我遇到的另一个问题

我想知道如何将两个源运行到两个独立的挂载点

set("log.file",false)
set("log.stdout",true)
set("log.level",3)

podcasts = playlist("/home/user/icecast/ham.txt")
songlist = playlist("/home/user/icecast/otherplaylist.txt")

# This function turns a fallible
# source into an infallible source
# by playing a static single when
# the original song is not available
def my_safe(radio) =
# We assume that festival is installed and
# functional in liquidsoap
security = single("say:Hello, we are currently having some technical difficulties but we'll be back soon so stay tuned!")
# We return a fallback where the original
# source has priority over the security
# single. We set track_sensitive to false
# to return immediately to the original source
# when it becomes available again.
fallback(track_sensitive=false,[radio, security])
end

radio= podcasts
radio= my_safe(podcasts)

def my_safe(songlist) =
# We assume that festival is installed and
# functional in liquidsoap
security = single("say:Hello, we are currently having some technical difficulties but we'll be back soon so stay tuned!")
# We return a fallback where the original
# source has priority over the security
# single. We set track_sensitive to false
# to return immediately to the original source
# when it becomes available again.
fallback(track_sensitive=false,[songlist, security])
end

moarradio= songlist
moarradio= my_safe(songlist)

# A function that contains all the output
# we want to create with the final stream
def outputs(s) =
# First, we partially apply output.icecast
# with common parameters. The resulting function
# is stored in a new definition of output.icecast,
# but this could be my_icecast or anything.
output.icecast = output.icecast(host="localhost", password="foobar")
# An output in mp3 to the "live" mountpoint:
output.icecast(%mp3, mount="live",radio)

output.icecast(%mp3, mount="otherlive",moarmusic)
end

我得到了同样的错误,但它告诉我没有使用第二个变量(moarradio)

最佳答案

liquidsoap 配置文件基本上是一个脚本,这意味着它将从上到下运行。

阅读配置文件后,它提示说您没有使用第 23 行定义的 radio 变量,原因是您使用的是第 24 行定义的一个。与许多其他语言不同,有no assignments, only definitions在 liquidsoap 脚本中

除此之外,您似乎不了解全局变量和局部变量之间的区别,以及它们各自的作用域。

您正在声明一个 my_safe 函数,它接受一个参数。在函数的范围内,用它的名字引用你的参数。然后以您的全局变量作为参数调用 my_safe 函数,您所期望的将实际发生。

如果您不调用outputs 函数,您的资源将不会被注册。只需删除函数构造。

这是我如何重写你的第二个例子:

set("log.file",false)
set("log.stdout",true)
set("log.level",3)

podcasts = playlist("/home/user/icecast/ham.txt")
songlist = playlist("/home/user/icecast/otherplaylist.txt")

# This function turns a fallible
# source into an infallible source
# by playing a static single when
# the original song is not available
def my_safe(stream) = # <- used a different variable name here
# We assume that festival is installed and
# functional in liquidsoap
security = single("say:Hello, we are currently having some technical difficulties but we'll be back soon so stay tuned!")
# We return a fallback where the original
# source has priority over the security
# single. We set track_sensitive to false
# to return immediately to the original source
# when it becomes available again.
fallback(track_sensitive=false,[stream, security]) # <- used a different variable name here
end

radio= my_safe(podcasts) # <- fix here

# <- got rid of redeclaration of my_safe

moarradio= my_safe(songlist) # <- fix here

# <- got rid of function construct
# First, we partially apply output.icecast
# with common parameters. The resulting function
# is stored in a new definition of output.icecast,
# but this could be my_icecast or anything.
output.icecast = output.icecast(host="localhost", password="foobar")
# An output in mp3 to the "live" mountpoint:
output.icecast(%mp3, mount="live",radio)
output.icecast(%mp3, mount="otherlive",moarradio) # <- fix here

关于audio - Liquidsoap 未明确定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18044793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com