vlc.playlist.loop 自动化

基本上,我在我的 VLC 扩展中有这个 .lua 代码,现在我在设置 VLC 重复自动循环播放列表时遇到了问题。我尝试将其设置为“all”、0、1、2、true、“TRUE”,但无论如何,它都不能将播放列表的循环值设置为“all”。

我也无法获取播放列表循环值。我尝试了 object.playlist().loop、vlc.playlist.loop。

我阅读了 VLC 的 Lua 脚本和扩展页面,但我仍然无法理解应该是什么的

    <status>

值或任何可接受的字符串。

function trigger()
    vlc.playlist.stop()
    vlc.playlist.sort("random")
    vlc.playlist.goto(0)
    --vlc.playlist.repeat_(<status>)
    --vlc.playlist.loop(<status>)
    vlc.playlist.play()
end
点赞
用户2858170
用户2858170

我没有尝试过,但根据文档逻辑状态应该是niltruefalse。如果为 nil(或没有参数),它将切换当前状态。 true将启用,false禁用 循环或重复。

不确定为什么您希望循环为“全部”。

您是否删除了相应行前面的 --?

我认为设置两者都没有意义。它们将在内部相互切换?

2016-10-11 18:27:55
用户1979882
用户1979882

在普通情况下,如果你不知道它该如何正确运作,可以在 github.com 上搜索这样的代码。在你的情况下,你可以使用这个链接:

https://github.com/search?utf8=%E2%9C%93&q=vlc.playlist.loop+language%3ALua&type=Code&ref=searchresults

如你所见,

你可以使用这段代码:

elseif command == "pl_loop" then
  vlc.playlist.loop()
elseif command == "pl_repeat" then
  vlc.playlist.repeat_()

或者

elseif c == 'loop' then
  if vlc.playlist.loop(v) then
    vlc.playlist.repeat_('off')
  end
elseif c == 'repeat' then
  if vlc.playlist.repeat_(v) then
    vlc.playlist.loop('off')
  end
2016-10-11 18:57:23
用户5694081
用户5694081

已解决,感谢 Vyacheslav 和 Piglet。

现在,这将把 VLC 播放列表的循环设置为循环全部,但是我无法打印或使用 vlc.msg.info 打印出 playlist.loop 的值。但最终它可以运行。

function trigger()
    vlc.playlist.stop()
    vlc.playlist.sort("random")
    vlc.playlist.goto(0)
    playlist = vlc.object.playlist();
    if vlc.var.get(playlist,"loop") == false then vlc.playlist.loop() end
    vlc.playlist.play()
end
2016-10-12 00:47:00