Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Path vlc lua:如何获得当前播放项目的完整路径?_Path_Lua_Vlc - Fatal编程技术网

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

Path vlc lua:如何获得当前播放项目的完整路径?,path,lua,vlc,Path,Lua,Vlc,我不是程序员,所以这对我来说很难。我想做一个扩展,将完整路径以完整格式发送到剪贴板。例如: D:\MyFolder\music\audio.mp3 我最近发现并销毁了将运行时间发送到剪贴板的文件。是否可以修改它以获得完整路径而不是运行时间 我正在使用VLC媒体播放器2.0.5 Twoflower 32位 Windows 7 professional 32位SP1 以下是我正在使用并要修改的.lua文件的内容: -- Time2Clip.lua -- VLC extension -- --[[ I

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

D:\MyFolder\music\audio.mp3

我最近发现并销毁了将运行时间发送到剪贴板的文件。是否可以修改它以获得完整路径而不是运行时间

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

Windows 7 professional 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
那么:

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
函数描述符()
返回{
title=“URI2Clip”;
version=“1.0”;
作者=”;
url='';
shortdesc=“URI2Clip”;
description=“将媒体URI复制到Windows剪贴板”;
}
结束
函数激活()
本地项=vlc.input.item()
本地uri=item:uri()
uri=string.gsub(uri,“^file:///”,“”)
uri=string.gsub(uri“/”,“\\”)
strCmd='echo'..uri..'| clip'
执行操作系统(strCmd)
结束

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

效果非常好。谢谢我刚刚添加了这一行来更改空格字符:uri=string.gsub(uri,%%20','')您不也需要将
%20
转换为``吗?
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