Graphics(6)(转)

S60平台提供了一些简单的API来播放一些视频剪辑,他可以用来在一些游戏里播放一些短的视频剪辑.对于Symbian OS的手机来说,回放功能是一项非常重的任务.因为资源有限,一个游戏如果储存了很多视频剪辑将会很浪费空间.如果要播放一个剪辑,你需要先对视频剪辑解压缩,然后进行回放,试用CFbsBitMaps指针进行播放.

CVideoPlayerUtility提供了一个简单的方法来来回放视频剪辑.你需要:
1.创建CVideoPlayerUtility的对象
2.调用CVideoPlayerUtility::OpenFileL来打开视频剪辑
3.如果打开操作成功完成,准备好以后,调用CVideoPlayerUtility::Play来开始回放.

创建CVideoPlayerUtility,需要一个类来实现MVideoPlayerUtilityObserver方法.(查了一下,他应该是一个接口,从定义的方式来看也是,里面包含了几个主要的成员函数)用来完成以下功能:
1.MvpuoPrepareComplete打开文件,准备好.这个信号被调用来相应CVideoPlayerUtility::Prepare.
2.MvpuoOpenComplete打开文件操作是成功或者失败,这个事件被CVideoPlayerUtility::OpenFileL接收相应.
3.MvpuoFrameReady在当前的帧被请求且准备好的时候被CVideoPlayerUtility::GetFrameL调用.
4.MvpuoPlayComplete视频回放完成,成功或失败.如果回放完成被CVideoPlayerUtility::Stop停止,这个事件不被接收.
5.MvpuoEvent普通事件消息.这个被控制者的供应者说明.
下面是播放一段视频剪辑的代码:
以下内容为程序代码:
void CMyGameView::MvpuoOpenComplete(TInt aError)

{

if(aError != KErrNone)

{

// Open failed

} else {

// Open successful

}

}



void CMyGameView::MvpuoFrameReady(CFbsBitmap& aFrame, TInt aError)

{

if(aError != KErrNone)

{

// Failed to get the frame

} else {

// aFrame contains the requested frame.

}

}





void CMyGameView::MvpuoPrepareComplete(TInt aError)

{

if(aError != KErrNone)

{

// Prepare failed; cannot start playback

} else {

// Prepare successful, start playback

iMyVideoPlayer->Play();

}

}



void CMyGameView::MvpuoEvent(const TMMFEvent& aEvent)

{

// General event received; these events depend on controller

}



void CMyGameView::MvpuoPlayComplete(TInt aError)

{

if(aError != KErrNone)

{

// Playback completed in failure.

}

}



void CMyGameView::PlayMyVideoFileL(TDesC& aFileName)

{

delete iMyVideoPlayer;

iMyVideoPlayer = NULL;

iMyVideoPlayer = CVideoPlayerUtility::NewL(

*this,

EMdaPriorityNormal,

EMdaPriorityPreferenceTimeAndQuality,

iCoeEnv->WsSession(),

iCoeEnv->ScreenDevice(),

Window(),

Rect(),

Rect());



// MvpuoOpenComplete callback is called after this is completed.

iMyVideoPlayer->OpenFileL(aFileName);

}


模拟器不支持视频剪辑的回放,因为没有插件,我日.这一段翻译的太失败了,一点价值也没有了.睡觉~~

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-126360/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-126360/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值