Unity录屏插件(Cross Platform Replay Kit)
作者:追风剑情 发布于:2022-12-5 17:05 分类:Unity3d
支持 Android 和 IOS 录屏,并保存到相册中。
官方示例场景:Plugins/VoxelBusters/ReplayKit/Examples/Scenes/ReplayKitDemo.unity
亲测成功!
Redmi Note 11T Pro
导入SDK,打包报错 Failed to update Android SDK package list. See the Console for details.
解决方法:
1、【Windows】-> Preferences -> External Tools -> 取消所有 xxxxx packages 的勾选
2、重启 Unity
3、将刚才取消的勾选重新勾上
4、点击 Play,强制刷新
5、重新打包
打包报错 This project uses AndroidX dependencies, but the 'android.useAndroidX' property is not enabled. Set this property to true in the gradle.properties file and retry.
解决方法:在gradleTemplate.properties文件中增加以下两句
android.useAndroidX=true
android.enableJetifier=true
using UnityEngine; using VoxelBusters.CoreLibrary; using VoxelBusters.ReplayKit; /// <summary> /// Cross Platform Replay Kit Screen Recording /// </summary> public class ReplayKitSDK : MonoBehaviour { #region Unity Life Cycle private void OnEnable() { Debug.Log("Registered for ReplayKit Callbacks"); ReplayKitManager.DidInitialise += DidInitialiseEvent; ReplayKitManager.DidRecordingStateChange += DidRecordingStateChangeEvent; } private void OnDisable() { ReplayKitManager.DidInitialise -= DidInitialiseEvent; ReplayKitManager.DidRecordingStateChange -= DidRecordingStateChangeEvent; } #endregion #region Initialise public void Initialise() { //初始化SDK ReplayKitManager.Initialise(); } #endregion #region Query public void IsRecordingAPIAvailable() { //是否支持录制 bool isAvailable = ReplayKitManager.IsRecordingAPIAvailable(); Debug.Log($"Recording API Available: {isAvailable}"); } public void IsRecording() { //是否正在录制... bool isRecording = ReplayKitManager.IsRecording(); Debug.Log($"Is currently recording: {isRecording}"); } public void IsPreviewAvailable() { //是否已保存且可播放录制的视频 bool isPreviewAvailable = ReplayKitManager.IsPreviewAvailable(); Debug.Log($"Is preview available: {isPreviewAvailable}"); } public void GetPreviewFilePath() { //获取视频地址 string filePath = ReplayKitManager.GetPreviewFilePath(); Debug.Log($"Recorded video preview file path: {filePath}"); } #endregion #region Utilities public void SavePreview() //Saves preview to gallery { if (ReplayKitManager.IsPreviewAvailable()) { //保存到相册 ReplayKitManager.SavePreview((result, error) => { if (error == null) { Debug.Log($"Saved preview to gallery."); } else { Debug.Log($"Saved preview to gallery failed with error: {error}"); } }); } else { Debug.Log("Preview recording not available. If you have already recoded, wait for ReplayKitRecordingState.Available status event and try saving again."); } } public void SharePreview() { if (ReplayKitManager.IsPreviewAvailable()) { //调用系统分享接口 ReplayKitManager.SharePreview(); Debug.Log("Shared video preview"); } } #endregion #region Recording public void SetMicrophoneStatus() { //true: 录制麦克风音频 ReplayKitManager.SetMicrophoneStatus(true); } public void PrepareRecording() { //准备录制,调用此接口申请所需权限 ReplayKitManager.PrepareRecording((result, error) => { if (error == null) { Debug.Log("Prepare recording successfull."); } else { Debug.Log($"Prepare recording failed with error : {error}"); } }); } public void StartRecording() { //开始录制 ReplayKitManager.StartRecording(); } public void StopRecording() { //停止录制 ReplayKitManager.StopRecording((result, error) => { if (error == null) { Debug.Log($"File path: {result.Path}"); } else { Debug.Log($"Failed with error: {error}"); } }); } public void Preview() { //预览录制完成的视频 bool success = ReplayKitManager.Preview(); Debug.Log($"Preview recording: {(success ? "Success" : "Failed")}"); } public void Discard() { //删除录制完成的视频 bool success = ReplayKitManager.Discard(); Debug.Log($"Discard recording: {(success ? "Success" : "Failed")}"); } #endregion #region Event Callbacks private void DidInitialiseEvent(InitialiseCompleteResult result, Error error) { Debug.Log("Received Event Callback : DidInitialiseEvent [State:" + result.State.ToString() + " " + "Error:" + error); switch (result.State) { //SDK初始化成功 case ReplayKitInitialisationState.Success: Debug.Log("ReplayKitManager.DidInitialiseEvent : Initialisation Success"); break; //SDK初始化失败 case ReplayKitInitialisationState.Failed: Debug.Log("ReplayKitManager.DidInitialiseEvent : Initialisation Failed with message[" + error + "]"); break; default: Debug.Log("Unknown State"); break; } } private void DidRecordingStateChangeEvent(RecordingStateChangeResult result, Error error) { Debug.Log("Received Event Callback : DidRecordingStateChangeEvent [State:" + result.State.ToString() + " " + "Error:" + error); switch (result.State) { //录制开始 case ReplayKitRecordingState.Started: Debug.Log("ReplayKitManager.DidRecordingStateChangeEvent : Video Recording Started"); break; //录制停止 case ReplayKitRecordingState.Stopped: Debug.Log("ReplayKitManager.DidRecordingStateChangeEvent : Video Recording Stopped"); break; //录制失败 case ReplayKitRecordingState.Failed: Debug.Log("ReplayKitManager.DidRecordingStateChangeEvent : Video Recording Failed with message [" + error + "]"); break; //视频录制完成并且可预览 case ReplayKitRecordingState.Available: Debug.Log("ReplayKitManager.DidRecordingStateChangeEvent : Video Recording available for preview"); break; default: Debug.Log("ReplayKit Unknown State"); break; } } #endregion }
标签: Unity3d
日历
最新文章
随机文章
热门文章
分类
存档
- 2024年11月(3)
- 2024年10月(5)
- 2024年9月(3)
- 2024年8月(3)
- 2024年7月(11)
- 2024年6月(3)
- 2024年5月(9)
- 2024年4月(10)
- 2024年3月(11)
- 2024年2月(24)
- 2024年1月(12)
- 2023年12月(3)
- 2023年11月(9)
- 2023年10月(7)
- 2023年9月(2)
- 2023年8月(7)
- 2023年7月(9)
- 2023年6月(6)
- 2023年5月(7)
- 2023年4月(11)
- 2023年3月(6)
- 2023年2月(11)
- 2023年1月(8)
- 2022年12月(2)
- 2022年11月(4)
- 2022年10月(10)
- 2022年9月(2)
- 2022年8月(13)
- 2022年7月(7)
- 2022年6月(11)
- 2022年5月(18)
- 2022年4月(29)
- 2022年3月(5)
- 2022年2月(6)
- 2022年1月(8)
- 2021年12月(5)
- 2021年11月(3)
- 2021年10月(4)
- 2021年9月(9)
- 2021年8月(14)
- 2021年7月(8)
- 2021年6月(5)
- 2021年5月(2)
- 2021年4月(3)
- 2021年3月(7)
- 2021年2月(2)
- 2021年1月(8)
- 2020年12月(7)
- 2020年11月(2)
- 2020年10月(6)
- 2020年9月(9)
- 2020年8月(10)
- 2020年7月(9)
- 2020年6月(18)
- 2020年5月(4)
- 2020年4月(25)
- 2020年3月(38)
- 2020年1月(21)
- 2019年12月(13)
- 2019年11月(29)
- 2019年10月(44)
- 2019年9月(17)
- 2019年8月(18)
- 2019年7月(25)
- 2019年6月(25)
- 2019年5月(17)
- 2019年4月(10)
- 2019年3月(36)
- 2019年2月(35)
- 2019年1月(28)
- 2018年12月(30)
- 2018年11月(22)
- 2018年10月(4)
- 2018年9月(7)
- 2018年8月(13)
- 2018年7月(13)
- 2018年6月(6)
- 2018年5月(5)
- 2018年4月(13)
- 2018年3月(5)
- 2018年2月(3)
- 2018年1月(8)
- 2017年12月(35)
- 2017年11月(17)
- 2017年10月(16)
- 2017年9月(17)
- 2017年8月(20)
- 2017年7月(34)
- 2017年6月(17)
- 2017年5月(15)
- 2017年4月(32)
- 2017年3月(8)
- 2017年2月(2)
- 2017年1月(5)
- 2016年12月(14)
- 2016年11月(26)
- 2016年10月(12)
- 2016年9月(25)
- 2016年8月(32)
- 2016年7月(14)
- 2016年6月(21)
- 2016年5月(17)
- 2016年4月(13)
- 2016年3月(8)
- 2016年2月(8)
- 2016年1月(18)
- 2015年12月(13)
- 2015年11月(15)
- 2015年10月(12)
- 2015年9月(18)
- 2015年8月(21)
- 2015年7月(35)
- 2015年6月(13)
- 2015年5月(9)
- 2015年4月(4)
- 2015年3月(5)
- 2015年2月(4)
- 2015年1月(13)
- 2014年12月(7)
- 2014年11月(5)
- 2014年10月(4)
- 2014年9月(8)
- 2014年8月(16)
- 2014年7月(26)
- 2014年6月(22)
- 2014年5月(28)
- 2014年4月(15)
友情链接
- Unity官网
- Unity圣典
- Unity在线手册
- Unity中文手册(圣典)
- Unity官方中文论坛
- Unity游戏蛮牛用户文档
- Unity下载存档
- Unity引擎源码下载
- Unity服务
- Unity Ads
- wiki.unity3d
- Visual Studio Code官网
- SenseAR开发文档
- MSDN
- C# 参考
- C# 编程指南
- .NET Framework类库
- .NET 文档
- .NET 开发
- WPF官方文档
- uLua
- xLua
- SharpZipLib
- Protobuf-net
- Protobuf.js
- OpenSSL
- OPEN CASCADE
- JSON
- MessagePack
- C在线工具
- 游戏蛮牛
- GreenVPN
- 聚合数据
- 热云
- 融云
- 腾讯云
- 腾讯开放平台
- 腾讯游戏服务
- 腾讯游戏开发者平台
- 腾讯课堂
- 微信开放平台
- 腾讯实时音视频
- 腾讯即时通信IM
- 微信公众平台技术文档
- 白鹭引擎官网
- 白鹭引擎开放平台
- 白鹭引擎开发文档
- FairyGUI编辑器
- PureMVC-TypeScript
- 讯飞开放平台
- 亲加通讯云
- Cygwin
- Mono开发者联盟
- Scut游戏服务器引擎
- KBEngine游戏服务器引擎
- Photon游戏服务器引擎
- 码云
- SharpSvn
- 腾讯bugly
- 4399原创平台
- 开源中国
- Firebase
- Firebase-Admob-Unity
- google-services-unity
- Firebase SDK for Unity
- Google-Firebase-SDK
- AppsFlyer SDK
- android-repository
- CQASO
- Facebook开发者平台
- gradle下载
- GradleBuildTool下载
- Android Developers
- Google中国开发者
- AndroidDevTools
- Android社区
- Android开发工具
- Google Play Games Services
- Google商店
- Google APIs for Android
- 金钱豹VPN
- TouchSense SDK
- MakeHuman
- Online RSA Key Converter
- Windows UWP应用
- Visual Studio For Unity
- Open CASCADE Technology
- 慕课网
- 阿里云服务器ECS
- 在线免费文字转语音系统
- AI Studio
- 网云穿
- 百度网盘开放平台
- 迅捷画图
- 菜鸟工具
- [CSDN] 程序员研修院
- 华为人脸识别
- 百度AR导航导览SDK
- 海康威视官网
- 海康开放平台
- 海康SDK下载
- git download
交流QQ群
-
Flash游戏设计: 86184192
Unity游戏设计: 171855449
游戏设计订阅号