cocos2dx3.10视频播放

本文介绍了如何在cocos2dx 3.10中使用ccexp.VideoPlayer进行视频播放,特别是在Android和iOS平台上的实现。针对Android平台,需要修改Cocos2dxVideoView.java以禁用点击暂停功能;对于iOS,通过调整UIVideoPlayer-ios.mm的控制样式和交互性来隐藏进度条并防止点击事件。此外,还解决了视频播放完成后在iOS上导致的闪退问题,通过延迟移除视频控件的方法,并讨论了启动时黑屏的问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*****************.h**********
#include "ui/UIVideoPlayer.h"
#include "ui/CocosGUI.h"

void showVideo(const char* videoName);
void videoPlayOverCallback();
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
    void videoEventCallback(Ref* sender, cocos2d::experimental::ui::VideoPlayer::EventType eventType);
#endif

*****************.cpp**********
void CSuperTools::showVideo(const char* videoName){
    if (!FileUtils::getInstance()->isFileExist(videoName)){
        return;
    }
    Size size = Director::getInstance()->getVisibleSize();
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
    auto scene = Director::getInstance()->getRunningScene();
    auto videoPlayer = cocos2d::experimental::ui::VideoPlayer::create();
    videoPlayer->setPosition(Point(size.width / 2, size.height / 2));
    videoPlayer->setAnchorPoint(Vec2::ANCHOR_MIDDLE);
    videoPlayer->setContentSize(Size(size.width, size.height));
    videoPlayer->setTag(1000);
    //videoPlayer->setTouchEnabled(false);
    scene->addChild(videoPlayer);
    if (videoPlayer)
    {
        videoPlayer->setFileName(videoName);
        videoPlayer->play();
    }
    videoPlayer->addEventListener(CC_CALLBACK_2(CSuperTools::videoEventCallback, this));
#endif
}

void CSuperTools::videoPlayOv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值