如何添加一個本地文件到一個kodi插件? 在以下示例中,Internet文件(url ='http:// ...')起作用。但是本地文件(url ='file:// ...')沒有。如何將本地文件添加到科迪插件?
import xbmc
import xbmcgui
import xbmcplugin
import xbmcaddon
import xbmcvfs
import sys
addon_handle = int(sys.argv[1])
xbmcplugin.setContent(addon_handle, 'songs')
#this works
xbmcplugin.addDirectoryItem(handle=addon_handle, url='http://www.noiseaddicts.com/samples_1w72b820/2537.mp3', listitem=xbmcgui.ListItem('internet_file'))
#this do not work
xbmcplugin.addDirectoryItem(handle=addon_handle, url='file://media/usb0/music/bn/local_file.mp3', listitem=xbmcgui.ListItem('local_file'))
xbmcplugin.endOfDirectory(addon_handle)
你的答案是正確的。因此upvoted。儘管如此,它並不能解決應該在不同文件系統中工作的插件(linux,win等)的問題。 – wolfrevo
您的評論沒有意義。本地文件的路徑將始終位於該文件所在的文件系統中。你需要以某種方式獲得這個路徑,例如,用'os.listdir()'掃描某個目錄。硬編碼路徑無處不在,因爲這根本不可能。如何保證文件位於每臺將運行插件的計算機上的相同位置?這並不是說事實上,與不同文件系統的兼容性不在你最初的問題中。 –
出於我的目的,這是有道理的,因爲我希望插件可以在不同的文件系統中工作。幸運的是,Kodi的開發人員在實現'special://'協議時解決了這個問題,這使得看似不可能的事情成爲可能。看到我的答案。 IMHO與不同文件系統的兼容性是addon隱含要求的。對不起,如果我沒有明確說出它。無論如何:謝謝你的寶貴答案和你的努力。 – wolfrevo