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

时间:2014-07-26 00:11:17

标签: path lua vlc

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

  

d:\ MyFolder文件\音乐\ audio.mp3

我最近发现并屠杀了this extension,它将运行时间发送到剪贴板。是否可以修改它以获得完整路径而不是运行时间?

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

Windows 7专业版32位SP1

以下是我正在使用并想要修改的.lua文件的内容:

-- Time2Clip.lua -- VLC extension --
--[[
INSTALLATION:
Put the file in the VLC subdir /lua/extensions, by default:
* Windows (all users): %ProgramFiles%\VideoLAN\VLC\lua\extensions\
Restart the VLC.
Then you simply use the extension by going to the "View" menu and selecting it.
--]]
function descriptor()
   return {
      title = "Time2Clip";
      version = "1.0";
      author = "valuex";
      url = 'https://forum.videolan.org/viewtopic.php?f=29&t=101114';
      shortdesc = "Time2Clip";
      description = "<div style=\"background-color:lightgreen;\"><b>just a simple VLC extension </b></div>";
      capabilities = {"input-listener"}
   }
end
function activate()
   create_dialog()
end

function close()
   vlc.deactivate()
end

function create_dialog()
   w = vlc.dialog("Time2Clip")
   --w2 = w:add_button("Save_to_Clip", click_SAVE,2,1,1,1)
   click_SAVE()
end

function click_SAVE()
   local input = vlc.object.input()
   if input then
      local curtime=vlc.path()
     -- local curtime=vlc.var.get(input, "time")
     -- w2:set_text( curtime )
      save_to_clipboard(curtime)
   end
end

function save_to_clipboard(var)
   strCmd = 'echo '..var..' |clip'
   os.execute(strCmd)
   vlc.deactivate()
end

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

input.item(): Get the current input item. Input item methods are:
  :uri(): Get item's URI.
  :name(): Get item's name.

1 个答案:

答案 0 :(得分:1)

怎么样:

function descriptor()
   return {
      title = "URI2Clip";
      version = "1.0";
      author = "";
      url = '';
      shortdesc = "URI2Clip";
      description = "<div><b>Copy the media URI to the Windows clipboard</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...格式。 NB。这只适用于已保存的文件,它会破坏网址。