这是使用盖莫游戏引擎播放视频的例子
当前解码器为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~
截图如下: