I think the critical call is libvlc_media_player_set_nsobject() i used a canvas but does not work.
Main page https://www.videolan.org/index.html
API https://www.videolan.org/developers/vlc ... 198acc31f6
You need to install vlc player.
This code creates a player and a media instances but it does not play:
Code: Select all
EnableExplicit
Define.i win, canvas
Define.i vlcInst, vlcPlayer
Define.s libstr
Define.i lib, media
Define.s path, mediaPath
path = "/Applications/VLC.app/Contents/MacOS/lib/"
SetEnvironmentVariable("VLC_PLUGIN_PATH", "/Applications/VLC.app/Contents/MacOS/plugins/")
libstr = "libvlc.dylib"
lib = OpenLibrary(#PB_Any, path + libstr)
win = OpenWindow(#PB_Any, 10, 10, 400, 300, "", #PB_Window_SystemMenu)
canvas = CanvasGadget(#PB_Any, 0, 0, 400, 300, #PB_Canvas_Container)
vlcInst = CallFunction(lib, "libvlc_new", 0, #Null)
Debug vlcInst
vlcPlayer = CallFunction(lib, "libvlc_media_player_new", vlcInst)
Debug vlcPlayer
CallFunction(lib, "libvlc_media_player_set_nsobject", vlcPlayer, GadgetID(canvas))
mediaPath = "yourmediafile.mp4"
media = CallFunction(lib, "libvlc_media_new_path", vlcInst, @mediaPath)
Debug media
CallFunction(lib, "libvlc_media_player_set_media", vlcPlayer, media)
CallFunction(lib, "libvlc_media_player_play", vlcPlayer)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow