我正在尝试在 Windows 7 上使用 libvlc 在 Qt Widget 中播放。我需要一些由 libvlc 提供的功能,这些功能在声子中不存在。我正在使用以下代码:
_videoWidget = new QFrame(this);
qDebug()<<fileName;
const char * const vlc_args[] = {
"-I qt4",
"--extraintf=logger",
"--verbose=2" };
_vlcinstance = libvlc_new(sizeof(vlc_args) / sizeof(vlc_args[0]), vlc_args);
_mp = libvlc_media_player_new (_vlcinstance);
_m = libvlc_media_new_path(_vlcinstance, fileName.toAscii());
libvlc_media_player_set_media (_mp, _m);
libvlc_media_player_set_hwnd(_mp, 0);//(_videoWidget->winId());
int windid = reinterpret_cast<int>(_videoWidget->winId());
libvlc_media_player_set_xwindow (_mp, windid );
libvlc_media_player_play (_mp);
在我选择播放文件后它什么也不做,没有帧没有调试输出?调试控制台操作是:
[0ac8f670] main libvlc debug: VLC media player - 2.0.3 Twoflower
[0ac8f670] main libvlc debug: Copyright © 1996-2012 VLC authors and VideoLAN
[0ac8f670] main libvlc debug: revision 2.0.3-0-g77aa89e
[0ac8f670] main libvlc debug: configured with ../extras/package/win32/../../../configure '--enable-update-check' '--enable-lua' '--enable-faad' '--enable-flac' '--enable-theora' '--enable-twolame' '--enable-quicktime' '--enable-avcodec' '--enable-merge-ffmpeg' '--enable-dca' '--enable-mpc' '--enable-libass' '--enable-x264' '--enable-schroedinger' '--enable-realrtsp' '--enable-live555' '--enable-dvdread' '--enable-shout' '--enable-goom' '--enable-caca' '--disable-portaudio' '--disable-sdl' '--enable-qt4' '--enable-skins2' '--enable-sse' '--enable-mmx' '--enable-libcddb' '--enable-zvbi' '--disable-telx' '--enable-sqlite' '--disable-dirac' '--host=i586-mingw32msvc' '--enable-crystalhd' 'host_alias=i586-mingw32msvc'
[0ac8f670] main libvlc debug: searching plug-in modules
[0ac8f670] main libvlc debug: loading plugins cache file E:\Work\Local_WorkingCopy\VidTest\plugins\plugins.dat
[0ac8f670] main libvlc debug: recursively browsing `E:\Work\Local_WorkingCopy\VidTest\plugins'
[0ac8f670] main libvlc debug: saving plugins cache E:\Work\Local_WorkingCopy\VidTest\plugins\plugins.dat
[0ac8f670] main libvlc debug: plug-ins loaded: 388 modules
[0ac8f670] main libvlc debug: translation test: code is "C"
[0ac8f670] main libvlc debug: CPU has capabilities MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 FPU
[0ac8f670] main libvlc debug: looking for memcpy module: 4 candidates
[0ac8f670] main libvlc debug: using memcpy module "memcpymmxext"
[0c680ab8] main interface debug: looking for interface module: 1 candidate
有人可以指出这段代码中的错误吗?