使用libvlc播放位于FTP服务器上的媒体有正确的方法吗?
创建媒体&媒体播放器,
libvlc_media_player_play
返回0,
libvlc_media_player_get_state
返回libvlc_Error和
libvlc_errmsg
返回"(null)"
official feature page for VLC将FTP列为支持的输入& FTP链接可以使用VLC媒体播放器实例播放。
代码非常基本,与在线发现的大多数示例相同:
libvlc_media_t *m = libvlc_media_new_location( inst, "ftp://127.0.0.1:3531/path_to_movie.avi");
if ( !m )
return false;
libvlc_media_player_t* mp = libvlc_media_player_new_from_media(m);
if ( !mp )
return false;
libvlc_media_release(m);
libvlc_media_player_play(mp);
在比赛结束后,没有任何反应。 在此先感谢您的帮助。
答案 0 :(得分:0)
启用详细调试输出后(如gollum所示),发现问题是由于libvlc_media_t *m
的错误创建造成的。
基本上我有一个URI检查器来确定链接是否包含本地文件或远程文件的路径。
libvlc_media_t *m = IsLocalFile(pszMediaPath) ? libvlc_media_new_path(inst, pszMediaPath) : libvlc_media_new_location(inst, pszMediaPath);
错误地实现了 IsLocalFile(pszMediaPath)
(总是返回true),导致调用libvlc_media_new_path
甚至是URI,导致libvlc_media_player_play
失败,因为远程媒体的路径是假的。