# FPV-Player-Demo **Repository Path**: yuyichen2025/fpv-player-demo ## Basic Information - **Project Name**: FPV-Player-Demo - **Description**: 云卓图传播放器Demo - **Primary Language**: Android - **License**: Not specified - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 8 - **Created**: 2023-09-26 - **Last Updated**: 2023-09-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 更新日志 ``` v2.7.2 云卓播放器优化 v2.7.1 图像格式支持NV12、NV21、YV12、I420 v2.6 处理removeView(FPVWidget)后再次addView(FPVWidget)导致黑屏问题 v2.5 处理RTSP流丢包时导致大片马赛克问题 v2.4.1 删除OpenH264相关内容 v2.4 提升出图速度 v2.2 FPVPlayerVersion获取版本号 ``` # Demo 工程 下载或者克隆Git上的Android示例代码工程:https://gitee.com/skydroid/fpv-player-demo.git # 空白项目集成 SDK 本指引介绍如何将 FPV-Player-Demo 中的 视频SDK包移植到用户的空白项目中 ``` 本指引中使用的 Android Studio 版本为 Android Studio Chipmunk | 2021.2.1 Patch 2 SDK所需权限 ``` - ### 导入SDK AAR包 ``` fpvplayer-v2.7.2.aar ijkplayer-java-release.aar ``` 将以上SDK AAR导入到项目app/libs中 - ### 导入SDK so库 ``` jniLibs arm64-v8a libijkffmpeg.so libijkplayer.so libijksdl.so armeabi-v7a libijkffmpeg.so libijkplayer.so libijksdl.so x86 libijkffmpeg.so libijkplayer.so libijksdl.so ``` 参考Demo,将以上 jniLibs 导入到项目app/src/main中 - ### 修改build.gradle(app) 文件 在 dependencies 项里添加SDK包 ``` implementation files("libs/fpvplayer-v2.7.2.aar") implementation files("libs/ijkplayer-java-release.aar") ``` - ### 修改 AndroidManifest.xml 文件 参照 Demo 的 AndroidManifest.xml添加SDK 需要的最基础权限 ``` ``` - ### 布局文件添加控件 ``` ``` 添加视频播放控件 - ### 播放视频 SDK内部会自动重连,开发者无需再关注连接状态及重连逻辑 ``` //设置播放地址 fpvWidget?.url = "rtsp://192.168.144.108:554/stream=0" //开始播放 fpvWidget?.start() //停止播放 fpvWidget?.stop() ``` - ### 播放器配置 ``` //使用硬解 fpvWidget?.usingMediaCodec = true //使用软解 fpvWidget?.usingMediaCodec = false //修改播放器 PlayerType.AUTO:根据视频流自动选择播放器(默认) PlayerType.ONLY_SKY:仅使用云卓播放器 PlayerType.ONLY_IJK:仅使用IJKPlayer播放器 fpvWidget?.playerType = PlayerType.AUTO //修改RTSP流TCP/UDP连接方式 RtspTransport.AUTO:默认(由FFmpeg自动设置) RtspTransport.UDP:固定UDP连接 RtspTransport.TCP:固定TCP连接 fpvWidget?.rtspTranstype = RtspTransport.AUTO //监听状态及帧数据 fpvWidget?.onPlayerStateListener = object : OnPlayerStateListener{ override fun onConnected() { } override fun onDisconnect() { } //在使用IJKPlayer播放器时,onReadFrame无效 override fun onReadFrame(p0: FrameInfo?) { } } //获取版本号 FPVPlayerVersion.getVersion() ```