# Cocos2dx-FFMpeg **Repository Path**: frontier666/cocos2dx-ffmpeg ## Basic Information - **Project Name**: Cocos2dx-FFMpeg - **Description**: cocos2dx中引入ffmpeg,使用sprite播放视频,SDL2播放音频 - **Primary Language**: C++ - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 2 - **Created**: 2022-05-25 - **Last Updated**: 2025-10-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README cocos2dx引擎中的VideoPlayer调用的是Android和iOS平台自己的播放器,这就导致视频播放永远在cocos2dx的图层上方,并且无法对视频做各种效果,所以需要引入**FFMpeg**和**SDL2**,使用FFMpeg解析音频流和视频流,将视频流转换成CCTexture2D,使用Sprite显示出来,音频流则使用SDL2播放出来,具体的实现在: `cocos2d/cocos/ui/BetterVideoPlayer.cpp`中 使用也非常简单: ```c++ 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