社区
游戏开发
帖子详情
directshow放开场动画问题(avi)
yourfeng
2003-06-06 09:53:50
1)不能全屏,是原始大小
2)它又开了个窗口放这个avi
怎么解决?????
...全文
59
9
打赏
收藏
directshow放开场动画问题(avi)
1)不能全屏,是原始大小 2)它又开了个窗口放这个avi 怎么解决?????
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
王嘉平
2003-06-14
打赏
举报
回复
可以的啊 MediaPlayer 以WS_CHILD方式作为子窗口创建在你的主窗口上,放完后Destroy掉
就像你把一个Button放在对话框上一样,不过这是应停止主窗口的刷新,以免闪烁
yourfeng
2003-06-14
打赏
举报
回复
那个例子也是创建了两个窗口地说,只不过主窗口隐藏了
我现在想让着一个窗口去放,放完了以后开始游戏菜单
这个能实现吗??用一个窗口
kidding
2003-06-14
打赏
举报
回复
DirectShow的例子程序中有相应的例子说明如何在全屏模式下播放动画
yourfeng
2003-06-12
打赏
举报
回复
directshow也是用avtiveMovie
看来你对ds不是很了解的说~~~~
hoho游戏引擎里面的例子和我做的一样,都是两个窗口(全屏问题两天前解决了)
王嘉平
2003-06-12
打赏
举报
回复
开场动画??? 晕倒 如果不处理视频数据的话,有必要用DS吗? 你创建Windows media player来放不就好了。或者用MCIWnd,都要简单,也可以全凭的
王嘉平
2003-06-12
打赏
举报
回复
晕 你是反了 是media player利用了 DS
而Media Player比你自己hardcode 搭建的Filter graph更为鲁棒和灵活
如果你不是要自己处理视频流的数据,何必自己搭Filter graph。
例如 你上面用的Render filter
DirectShow filter里面 自带的Render filter有两个,一个是Full Screen专用的,一个是Window方式用的。 Media Player会自动选的 像上面的代码就没有这种灵活性。
而在XP下,又多了一个Mixture render,不过你那里应该用不上. 当然MediaPlayer也是利用了DS,你完全可以做到这样的灵活性,但是这里的工作量可想而知。这就像你要写这个Pop3/smtp服务器,先去实现一个文件系统一样。
我不知道你看的什么游戏引擎的source了,如果你想参照视频播放的方法应该去看player的source。我倒是看到很多一开始雄心壮志要写游戏的人,最后游戏没弄出来,放了个游戏程序架子在网上,然后叫做游戏引擎
我无意贬低这样的人,我只是说网上的source即使是正确的也未必是适合的。其实我自己曾经也是这样的人之一,曾经想写游戏(三个人的Team work),后来没坚持下去,做别的事情去了(考研),然后就剩下了万把行的程序架子,一堆OpenGL/DS/DI/DP/Socket/Game loop的整合,不过我没有放到网上来。这些source还在我的HD的一个角落里静静地躺着.............
韩雷
2003-06-11
打赏
举报
回复
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR, INT )
{
//放片头动画
IVideoWindow *pVW = NULL;
LONG lMode;
static HWND hDrain=0;
IGraphBuilder *pGraph;
IMediaControl *pMediaControl;
IMediaEvent *pEvent;
CoInitialize(NULL);
// Create the filter graph manager and query for interfaces.
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&pGraph);
pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);
pGraph->QueryInterface(IID_IVideoWindow, (void **)&pVW);
// Build the graph. IMPORTANT: Change string to a file on your system.
pGraph->RenderFile(L"片头动画.avi", NULL);
// Run the graph.
pMediaControl->Run();
// Read current state
pVW->get_FullScreenMode(&lMode);
if (lMode == OAFALSE)
{
lMode = OATRUE;
pVW->put_FullScreenMode(lMode);
};
// Wait for completion.
long evCode;
pEvent->WaitForCompletion(INFINITE, &evCode);
// Clean up.
pMediaControl->Release();
pEvent->Release();
pGraph->Release();
CoUninitialize();
CoInitialize (NULL);
}
yourfeng
2003-06-11
打赏
举报
回复
nobody knows??????????????
paulluo0739
2003-06-07
打赏
举报
回复
对头,我也遇到这样的问题,关注
DirectShow
它支持多种视频和音频格式,包括MPEG、WMV、
AVI
、MP3等,并且可以进行实时处理,如视频预览和视频捕获。此外,
DirectShow
还提供了高度的可扩展性,允许开发者创建自定义的过滤器以满足特定需求。 在开发
DirectShow
...
DirectShow
9
3. **广泛的格式支持**:
DirectShow
支持多种媒体格式,包括但不限于WMV、
AVI
、MP4、MPEG等。 4. **跨平台兼容性**:虽然主要面向Windows,但有一些第三方项目如
DirectShow
for Linux实现了类似的功能,增加了跨平台...
基于
DirectShow
的简单播放器
它能处理多种文件格式,如
AVI
、MP4、WMV等,因为
DirectShow
支持多种容器格式。 2. **解码过滤器**:如果媒体文件是编码的,解码过滤器会负责将其解码成原始的音频和视频数据。
DirectShow
包含了多种编解码器,如MPEG...
VC 打开摄像头 (使用
DirectShow
)
在VC++编程环境中,使用
DirectShow
库可以实现与摄像头交互的功能,包括实时预览和捕获图像。
DirectShow
是微软提供的一种高级多媒体流处理框架,适用于视频和音频的捕获、处理以及播放。本篇文章将深入探讨如何在MFC...
最简单的基于
DirectShow
的示例
本程序包含了
DirectShow
开发的示例程序。适合
DirectShow
初学者进行学习。 它包含了以下几个子程序: simplest_
directshow
_player: 最简单的基于
DirectShow
的视频播放器。 simplest_
directshow
_player_custom: 最简单...
游戏开发
8,325
社区成员
23,684
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章