Как добавить локальный файл к аддону kodi? В следующем примере работает интернет-файл (url = 'http: // ...'). Но локальный файл (url = 'file: // ...') не работает.Как добавить локальный файл к аддону kodi?
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)
ваш ответ является правильным. поэтому рекомендуется. Тем не менее это не решит проблему в аддоне, который должен работать в разных файловых системах (Linux, победа и т. Д.) – wolfrevo
Ваш комментарий не имеет смысла. Путь к локальному файлу всегда будет находиться в файловой системе, где находится этот файл. Вам нужно каким-то образом получить этот путь, например, путем сканирования некоторого каталога с помощью 'os.listdir()'. Твердый путь не будет работать повсюду, потому что это просто невозможно. Как вы можете гарантировать, что файл находится в одном месте на каждом компьютере, на котором будет работать ваш аддон? Это не говоря уже о том, что совместимость с разными файловыми системами не была в вашем первоначальном вопросе. –
Для моих целей это имеет смысл, потому что я хочу, чтобы аддон работал в разных файловых системах. И, к счастью, разработчики Kodi обратились к этой проблеме, когда они внедрили «специальный: //» протокол, что делает возможным то, что кажется невозможным. См. Мой ответ. Совместимость IMHO с различными файловыми системами неявно требуется аддоном. Извините, если я не произнес это явно. Во всяком случае: спасибо за ваш ценный ответ и ваши усилия. – wolfrevo