如何在vlc lua中获取当前播放项目的完整路径?

我不是程序员,所以对我来说这很难。我想制作一个扩展程序,以完整格式将完整路径发送到剪贴板。例如:

D:\MyFolder\music\audio.mp3

我最近找到并修改了这个扩展程序,它将运行时间发送到剪贴板。是否可以修改它以获得完整路径而不是运行时间?

我正在使用VLC媒体播放器2.0.5 Twoflower 32位。

Windows 7专业版32位SP1

这是我正在使用和想要修改的.lua文件的内容:

- Time2Clip.lua - VLC扩展 -
--[[
安装:
将文件放入VLC子目录/ lua / extensions中,默认情况下:
* Windows(所有用户):%ProgramFiles%\ VideoLAN \ VLC \ lua \ extensions \
重新启动VLC。
然后,您只需转到“视图”菜单并选择它即可使用该扩展。
--]]
函数描述符()
   返回{
      标题=“ Time2Clip”;
      版本=“ 1.0”;
      作者=“ valuex”;
      url ='https://forum.videolan.org/viewtopic.php?f=29&t=101114';
      shortdesc =“ Time2Clip”;
      说明="<div style=\"background-color:lightgreen;\"><b>just a simple VLC extension </b></div>";
      能力={"输入监听器"}
   }
结束
函数激活()
   create_dialog()
结束

函数关闭()
   vlc.deactivate()
结束

函数create_dialog()
   w = vlc.dialog("Time2Clip")
   -w2=w:add_button(“ Save_to_Clip”,click_SAVE,2,1,1,1)
   click_SAVE()
结束

函数click_SAVE()
   local input = vlc.object.input()
   如果输入然后
      当前时间=vlc.path()
     - 当前时间=vlc.var.get(input,“ time”)
     - w2 set_text (curtime)
      save_to_clipboard(curtime)
   结束
结束

函数save_to_clipboard(变量)
   strCmd ='echo'..var..' |clip'
   os.execute(strCmd)
   vlc.deactivate()
结束

我阅读了LUA的README.TXT文件,并找到了这个,但我不知道如何使用它。请帮帮我。提前致谢。

input.item():获取当前输入项目。输入项目方法有:
  :uri():获取项目的URI。
  :name():获取项目的名称。
点赞
用户478656
用户478656
function descriptor()
   return {
      title = "URI2Clip";
      version = "1.0";
      author = "";
      url = '';
      shortdesc = "URI2Clip";
      description = "<div><b>复制媒体URI到Windows剪贴板</b></div>";
   }
end

function activate()
   local item = vlc.input.item()
   local uri = item:uri()
   uri = string.gsub(uri, '^file:///', '')
   uri = string.gsub(uri, '/', '\\')

   strCmd = 'echo '..uri..' |clip'
   os.execute(strCmd)
end

URI会返回类似于 file:///c:/users/username/Documents/song.mp3 的东西,因此我将其转换为 c:\users\username... 格式。需要注意的是,这仅适用于保存的文件,它将破坏网址。

2014-07-26 01:47:33