最近因为项目需求需要使用到视频播放功能。
在3.x版本之前如果需要用到视频播放功能就要使用原生的视频播放实现技术,好在3.x之后官方已经集成了视频播放功能,这是值得欣慰的。但是欣慰过后的悲剧在于,官方的文档一直跟不上版本的更新速度。虽然集成了这个功能,但是郁闷的是你要花费很大的力气去尝试使用技巧(仅限于类似我这种菜鸟)。
以下为我整了好久才摸到的使用方法,其实使用不难,难的是一定要注意这个集成的播放器(VIDeoPlayer)是有平台限制的。一些代码只有在androID平台和IOS平台有效。废话不多说了,直接上实例代码:
HelloWorldScene.h文件
view source print ? @H_403_17@01.
#ifndef __HELLOWORLD_SCENE_H__
02.
#define __HELLOWORLD_SCENE_H__
03.
04.
#include"cocos2d.h"
05.
//务必引入以下2个.h文件
06.
"ui/UIVIDeoPlayer.h" 07.
"ui/CocosGUI.h" 08.
USING_NS_CC; 09.
class
HelloWorld :
public
Layer
10.
{ 11.
: 12.
static
Scene* createScene();
13.
14. virtual bool init();
15.
16. voIDonEnter();
17.
18.
vIDeoPlayOverCallback(); 19.
20. showVIDeo(); 21.
/**
22.
* 视频播放状态,只有在androID和ios平台有效
23.
*/
24.
#if
(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
25.
vIDeoEventCallback(Ref* sender,cocos2d::experimental::ui::VIDeoPlayer::EventType eventType);
26.
#endif 27.
28. CREATE_FUNC(HelloWorld); 29.
}; 30.
#endif HelloWorldScene.cpp文件
"HelloWorldScene.h"
USING_NS_CC;
Scene* HelloWorld::createScene()
auto scene = Scene::create();
auto layer = HelloWorld::create();
scene->addChild(layer);
return
scene;
}
bool HelloWorld::init()
{
( !Layer::init() )
return
false
;
true
HelloWorld::onEnter(){
Layer::onEnter();
showVIDeo();
}
HelloWorld::showVIDeo(){
Size size = Director::getInstance()->getVisibleSize();
auto vIDeoPlayer = cocos2d::experimental::ui::VIDeoPlayer::create();
vIDeoPlayer->setposition(Point(size.wIDth /
2
,size.height /
));
31.
vIDeoPlayer->setAnchorPoint(Vec2::ANCHOR_MIDDLE);
32.
vIDeoPlayer->setContentSize(Size(size.wIDth,size.height));
33.
this
->addChild(vIDeoPlayer);
34.
(vIDeoPlayer)
35.
36. vIDeoPlayer->setfilename(
"1111.mp4"
);
37.
vIDeoPlayer->play();
38.
39. vIDeoPlayer->addEventListener(CC_CALLBACK_2(HelloWorld::vIDeoEventCallback,));
40.
41. 42. 43. 44. * 视频播放完成的回调函数
45.
46.
HelloWorld::vIDeoPlayOverCallback() 47.
48. 49.
50. /**
51.
* 视频播放的状态 52.
* 注意这里的代码,此处代码只有在androID平台和Ios平台有效 53.
54. 55. HelloWorld::vIDeoEventCallback(Ref* sender,cocos2d::experimental::ui::VIDeoPlayer::EventType eventType){ 56.
switch(eventType) {
57.
casecocos2d::experimental::ui::VIDeoPlayer::EventType::PLAYING:
58.
break59.
cocos2d::experimental::ui::VIDeoPlayer::EventType::PAUSED: 60.
61. cocos2d::experimental::ui::VIDeoPlayer::EventType::StopPED: 62.
63. cocos2d::experimental::ui::VIDeoPlayer::EventType::COMPLETED: 64.
65. ;
66.
default:
67.
68. 69. 70. #endif 总结 以上是内存溢出为你收集整理的cocos2dx3.3视频播放的实现VideoPlayer的使用全部内容,希望文章能够帮你解决cocos2dx3.3视频播放的实现VideoPlayer的使用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)