Cpper
C/C++高级工程师 Android高级软件工程师 IT集成工程师 音频工程师 熟悉c,c++,java,c#,py,js,asp等多种语言 程序猿
这是使用盖莫游戏引擎播放视频的例子

当前解码器为ffmpeg.

以后还会使用dxshow解码
播放代码如下:
 1 #include <stdio.h>
 2 #include <GEngine/Gaimo.hpp>
 3 
 4 using namespace core;
 5 
 6 bool state = 0;
 7 //! 视频播放完成后的处理工作
 8 inline void IsVideoEnded(){state = 1;} 
 9 
10 using namespace core; 
11 int main()
12 {
13     RefPtr<Device> device = InitDevice("视频播放");
14     //! 获取视频播放器指针
15     RefPtr<VideoPlayer> player = device->GetVideoPlayer();
16     //! 不处理音频的话那么视频将会是无声的O(∩_∩)O~ 
17     core::RefPtr<core::AudioDevice> audiodevice = device->GetAudioDevice();
18     uint16 number = audiodevice->GetAudioDeviceNumber(); 
19     engine_string audiodeviceinde = audiodevice->GetDeviceByIndex(1);
20     std::cout<<audiodevice->GetDeviceByIndex(1)<<std::endl; 
21     std::cout<<audiodevice->GetDefaultDeviceName()<<std::endl; 
22     std::cout<<"初始化音频设备"<<audiodevice->Init(audiodeviceinde,4,0)<<std::endl;  
23     player->isstoped.connect( sigc::ptr_fun(&IsVideoEnded));
24     player->Play("..\\video//1.Mp4",Rectf(-1,-1,2,2)); 
25     player->SetVolume(1.0f);    
26     
27     BEGIN_LOOP(device)
28         player->Update();
29         BREAK_LOOP(state,1);
30     END_LOOP(device)
31     return 0;
32 }
33 


可以看出当前代码使用sigc++作为插槽系统当播放结束的时候程序自动退出(当然可选sigslot)O(∩_∩)O~

截图如下:

posted on 2010-03-27 08:54 ccsdu2009 阅读(239) 评论(0)  编辑 收藏 引用 所属分类: Game引擎

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理