Cocos2d-3.x_视频播放(Android和iOS平台)
2015-04-12 23:01
274 查看
#ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" #include "ui/CocosGUI.h" USING_NS_CC; class HelloWorld : public cocos2d::Layer { public: static cocos2d::Scene* createScene(); virtual bool init(); // 设置视频播放时的状态的回调函数,必须加上平台判断的宏定义才能不报错 #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) void videoEventCallback(Ref* sender, cocos2d::experimental::ui::VideoPlayer::EventType eventType); #endif // 设置视频播放完成时的回调函数 void videoPlayOverCallback(); CREATE_FUNC(HelloWorld); private: }; #endif // __HELLOWORLD_SCENE_H__
#include "HelloWorldScene.h" Scene* HelloWorld::createScene() { auto scene = Scene::create(); auto layer = HelloWorld::create(); scene->addChild(layer); return scene; } bool HelloWorld::init() { if ( !Layer::init() ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); auto sprite = Sprite::create("HelloWorld.png"); sprite->setPosition(Vec2(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y)); this->addChild(sprite, 0); // 在Cocos2d-3.x中,增加了可以播放视频的API,但必须注意的是:到目前为止,只能在Android和iOS平台进行播放视频,如果在其他的平台,代码则会编译出错,所以需要加上平台判断的宏定义才能编译通过 #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) auto videoPlayer = cocos2d::experimental::ui::VideoPlayer::create(); videoPlayer->setContentSize(visibleSize); videoPlayer->setPosition(visibleSize/2.0); videoPlayer->setFileName("video.mp4"); videoPlayer->addEventListener(CC_CALLBACK_2(HelloWorld::videoEventCallback, this)); videoPlayer->play(); this->addChild(videoPlayer); #endif return true; } void HelloWorld::videoPlayOverCallback() { } #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) void HelloWorld::videoEventCallback(Ref* sender, cocos2d::experimental::ui::VideoPlayer::EventType eventType) { switch (eventType) { case cocos2d::experimental::ui::VideoPlayer::EventType::PLAYING: break; case cocos2d::experimental::ui::VideoPlayer::EventType::PAUSED: break; case cocos2d::experimental::ui::VideoPlayer::EventType::STOPPED: break; case cocos2d::experimental::ui::VideoPlayer::EventType::COMPLETED: this->videoPlayOverCallback(); break; default: break; } } #endif
相关文章推荐
- IOS Android 视频播放(不使用第三方库,使用平台底层sdk)实现
- Cocos2d-3.x_加载网页(Android和iOS平台)
- cocos2d-x lua 播放视频,VideoPlayer在Android和IOS下的坑,
- ios平台cocos2d-x播放音频、视频、音效的Demo(支持网络视频)
- Cocos2d-x v2.2.3 IOS,Android “一键式”播放视频
- Unity3D在Android和IOS平台上播放视频方法
- Cocos2d-x 3.x 全平台(Android,iOS)新手开发配置教程攻略
- Cocos2d-x 3.x 头像选择,本地相册图片+图片编辑(Android、IOS双平台)
- cocos2d-x IOS,Android “一键式”播放视频
- Cocos2d-x 3.x 头像选择器,本地相册与拍照+头像编辑功能(Android、IOS双平台实现)
- Cocos2d-x 3.x 全平台(Android,iOS)新手开发配置教程攻略
- Cocos2d-x跨Android&iOS平台 开发环境搭建 -- 验证好使
- Cocos2d-x跨Android&iOS平台开发入门
- (译)cocos2d-x跨android&ios平台开发入门教程
- cocos2d-x 播放视频 on Android
- Cocos2d-x跨Android&iOS平台开发入门
- COCOS2D-X跨ANDROID&IOS平台开发入门教程
- cocos2d-x CCDirector在Windows平台,Android平台,ios平台分析和用途-沈大海cocos2d-x教程10
- cocos2d-x跨android&ios平台开发入门教程