自己写的播放器跟微软写的有何不同?
用下面几十行的代码就能播放基本所有的影片格式,大概20K左右 为什么影音风暴播放器 realplay mediaplay等需要几个M大小?有何不同?? 我感觉画面基本上都差不多啊 占用的资源比下面的代码大多了
void CMyPlayerDlg::OnButton1()
{
// TODO: Add your control notification handler code here
CoInitialize(NULL);
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&mGraph);
mGraph->QueryInterface(IID_IMediaControl, (void **)&mMediaControl);
mGraph->QueryInterface(IID_IMediaEventEx, (void **)&mEvent);
mGraph->QueryInterface(IID_IBasicVideo, (void **)&mBasicVideo);
mGraph->QueryInterface(IID_IBasicAudio, (void **)&mBasicAudio);
mGraph->QueryInterface(IID_IVideoWindow, (void **)&mVideoWindow);
//mGraph->QueryInterface(IID_IMediaSeeking, (void **)&mSeeking);
WCHAR szFilePath[MAX_PATH];
MultiByteToWideChar(CP_ACP, 0, "C:\\111.mpg", -1, szFilePath, MAX_PATH);
mGraph->RenderFile(szFilePath,NULL);
mVideoWindow->put_Visible(OAFALSE);
mVideoWindow->put_Owner((OAHWND)m_playWindow.GetSafeHwnd());
RECT windowRect;
::GetClientRect(m_playWindow.GetSafeHwnd(), &windowRect);
mVideoWindow->put_Left(0);
mVideoWindow->put_Top(0);
mVideoWindow->put_Width(windowRect.right - windowRect.left);
mVideoWindow->put_Height(windowRect.bottom - windowRect.top);
mVideoWindow->put_WindowStyle(WS_CHILD|WS_CLIPCHILDREN|WS_CLIPSIBLINGS);
mVideoWindow->put_MessageDrain((OAHWND) m_playWindow.GetSafeHwnd());
// Restore the video window
if (m_playWindow.GetSafeHwnd() != NULL)
{
//mVideoWindow->put_Visible(lVisible);
mVideoWindow->put_Visible(OATRUE);
}
else
{
mVideoWindow->put_Visible(OAFALSE);
}
mMediaControl->Run();
}
问题点数:0、回复次数:5Top
1 楼lserlohn()回复于 2006-05-02 11:24:28 得分 0
可能在界面和错误处理方面比你自己的好。本质差不多Top
2 楼Xyray(Symbianer)回复于 2006-05-02 22:55:13 得分 0
你这样算是纯粹的dshow外壳 没有自己的东西
mpc都有解码优化 渲染模式选择 VR or VMR ...
Top
3 楼psusong(栀子花开)回复于 2006-05-03 12:16:08 得分 0
你的问题和现面的问题是等效的:
为什么我不用写一行代码就可以用AppWizard生成一个漂亮的也能响应消息处理的基于MFC的MDI程序?既然这么简单,为什么还有很多人去学习VC++?
为什么我只要简单的拖动mouse,就可以在对话框上画出一个button来,我们还用Windows OS干什么?
或者说如果不装mpeg2解码器,你试试你的代码能播放任何DVD文件吗?
Top
4 楼wqrz(滑步向左)回复于 2006-05-03 14:41:17 得分 0
mpc都有解码优化 渲染模式选择 VR or VMR ...
不能明白,解码优化?xd色弱 看不大出来画质比我写的差多少 看下CPU占用跟内存占用好象也差不了多少啊Top
5 楼httpaspjspphp(小杨大刀)回复于 2006-05-05 12:05:30 得分 0
你这样的代码可以自己用
但是根本不能商业应用啊
再者
你的根本没有扩展性
举个例子
看看qq直播中调用media player,你的能行吗
简直是天壤之别Top




