2

所以我决定在 Lua 中编写一个 VLC 插件......我对这两种技术都是全新的,我有一个插件可以工作,但是我使用它每 25 或 30 次它就会崩溃。它的目标是让播放头到达曲目的最后 5、7 或 10 秒。

这是来源:

function activate() 
    initialize()
    index=0 -- when activate already playing.

    local d = vlc.dialog("Begin-End" )
    d:add_button("begin",do_begin,1,1,1,1)
    d:add_button("end 10",do_end,3,1,1,1)
    d:add_button("end 7",do_end_7,4,1,1,1)
    d:add_button("end 5", do_end_5,4,2,1,1)

    d:add_button("prev playlist",do_prevplaylist,1,2,1,1)
    d:add_button("next playlist",do_nextplaylist,3,2,1,1)
    d:show()
    update()
end

function initialize()
    input=vlc.object.input()
    d=vlc.input.item():duration()
    index=0
end

function input_changed()
    initialize()
    update()
end
function meta_changed()
end

function deactivate()

end

function close()
    vlc.deactivate()
end

function update()
    if index==1 then
        vlc.var.set(input,"time",0)
    end
    if index==2 then
        vlc.var.set(input,"time",d-10)
    end
    if index==3 then
        vlc.var.set(input, "time", d-7) 
    end
    if index==4 then
        vlc.var.set(input, "time", d-5)
    end
end
function do_nextplaylist()
    vlc.playlist.next()
end
function do_prevplaylist()
    vlc.playlist.prev()
end
function do_begin()
    index = 1
    update()
end
function do_end()
    index = 2
    update()
end
function do_end_7() 
    index = 3
    update()
end
function do_end_5()
    index = 4
    update()
end

任何帮助将不胜感激。

4

0 回答 0