2016-01-18 28 views
1

使用libvlc播放位于FTP服务器上的媒体是否有正确的方法?使用libvlc播放FTP文件

创建媒体&媒体播放器后,

libvlc_media_player_play 

返回0,

libvlc_media_player_get_state 

回报libvlc_Error和

libvlc_errmsg 

申报表 “(空)”

official feature page for VLC将FTP列为受支持的输入&使用VLC媒体播放器实例可以播放FTP链接。游戏被称为

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

只有ftp失败? http://工作吗?如果尚未完成,则应在'libvlc_new()'中使用或附加'-v'参数以获得详细的调试输出。 – gollum

回答

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),导致甚至URI的,这就造成libvlc_media_player_play失败,因为路径到远程媒体是伪造主叫的libvlc_media_new_path