代码拉取完成,页面将自动刷新
cocos2dx引擎中的VideoPlayer调用的是Android和iOS平台自己的播放器,这就导致视频播放永远在cocos2dx的图层上方,并且无法对视频做各种效果,所以需要引入FFMpeg和SDL2,使用FFMpeg解析音频流和视频流,将视频流转换成CCTexture2D,使用Sprite显示出来,音频流则使用SDL2播放出来,具体的实现在:
cocos2d/cocos/ui/BetterVideoPlayer.cpp
中
使用也非常简单:
BetterVideoPlayer *player = BetterVideoPlayer::create();
player->setFileName("视频或者音频文件路径");
addChild(player);
player->addEventListener([](Ref *player, BetterVideoPlayer::EventType eventType){
// coding with eventType
});
player->play();
player->setVolume(0.2);
受限于FFMpeg的问题,Android系统中,FFMpeg无法正确解析apk包体中的媒体文件
演示视频:
https://www.bilibili.com/video/BV1U34y1j7Wy?share_source=copy_web
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。