您的位置:首页 > 其它

MFC调用VLC动态库中出现的错误

2015-03-12 16:05 183 查看
根据网上搜到的的步骤,一步一步坐下来,但编译总是通不过。我自己想想可能是我的VLC时2.2.0的,它的库比较新,不兼容??因为出错总是提醒我某个数据类型没有定义或者出错。一开始VLC的H文件没有去更改,而是找自己代码错误。后来直接把搜到数类型的头文件,include一下,然后再在目录路径中添加了VLC文件的路径。至少是编译通过了,但是播放视频还是不行,再摸索。。。

现在是编译通过了,我发现原来是之前的路径没有被识别,换了一个路径识别的代码就可以播放视频了。下一步,UDP文件传输的MFC实现

#ifdef _UNICODE
m_path.GetWindowText(cstr_url);

#else
USES_CONVERSION;
CStringA cstr_urla;
m_path.GetWindowText(cstr_urla);
cstr_url.Format(L"%s",A2W(cstr_urla));

#endif

std::string str_url;
UNICODE_to_UTF8(cstr_url, str_url);
const char *char_url=str_url.c_str();

if(strcmp(char_url,"")==0){
AfxMessageBox(_T("Input URL is NULL!"));
return;
}

CWnd *pWnd = GetDlgItem(IDC_SCREEN);
HWND hwnd = pWnd->GetSafeHwnd();
if(m_bNew == true)     
{
if(m_vlcMplay != NULL)
{
libvlc_media_player_release(m_vlcMplay);//清理上次播放播放器中占的内存
}
   

// m_vlcMedia = libvlc_media_new_path (m_vlcInst, EncodeToUTF8(m_path.GetBuffer(0))); //之前的代码
m_vlcMedia = libvlc_media_new_path (m_vlcInst, char_url);
m_vlcMplay = libvlc_media_player_new_from_media (m_vlcMedia);
libvlc_media_player_set_hwnd (m_vlcMplay, hwnd);
m_bNew = false;
}

        libvlc_media_player_play (m_vlcMplay);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mfc VLC
相关文章推荐