我正在使用libvlc在Win7上编写自己的音乐播放器。经过一番努力,让它在Qt5.5中正常工作,我可以成功地运行我的代码。它按预期播放所需的文件。但是:
似乎只播放位于项目根目录中的文件。因此,每当我想要使用路径文件,位于其他地方,它将无法工作。
libvlc_instance_t * inst;
libvlc_media_player_t *mp;
libvlc_media_t *m;
/* Load the VLC engine */
inst = libvlc_new (0, NULL);
qDebug() << "Instance: " << inst;
/* this is what does not work. The programme crashes with a segmentation fault */
//m = libvlc_media_new_path(inst, "D:/path/to/some/external/file");
//m = libvlc_media_new_path(inst, "C:/path/to/some/external/file");
//m = libvlc_media_new_path(inst, "D:\Path\to\some\external\file");
//m = libvlc_media_new_path(inst, "file:///C:/path/to/some/external/file");
/* this works if track.flac is in the project's root director */
m = libvlc_media_new_path(inst, "track.flac");
qDebug() << "Item: " << m << " " << libvlc_media_get_mrl(m);
/* no problems here */
/* Create a media player playing environement */
mp = libvlc_media_player_new_from_media (m);
qDebug() << "Player: " << mp;我尝试了文件的名字中有和没有空格,所以我不认为这是原因。如果你能帮我出来就太好了。
发布于 2015-08-25 20:29:04
你试过"d:\\path\\to\\some\\external\\file"吗?
https://stackoverflow.com/questions/32212706
复制相似问题