当前位置: 首页 > news >正文

Unity访问安卓(Android)或苹果(iOS)相册

1.下载Native Gallery for Android & iOS插件

2.在场景中添加截图按钮、选择图片按钮、选择视频按钮等

using OpenCVForUnity.CoreModule;
using OpenCVForUnity.ImgprocModule;
using OpenCVForUnity.UnityUtils;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;public class MyPhoto : MonoBehaviour
{public Renderer renderer;public TMP_Text textPrompt;public void DoCapture(){StartCoroutine(TakeScreenshotAndSave());}// Example code doesn't use this function but it is here for reference. It's recommended to ask for permissions manually using the// RequestPermissionAsync methods prior to calling NativeGallery functionsprivate async void RequestPermissionAsynchronously(NativeGallery.PermissionType permissionType, NativeGallery.MediaType mediaTypes){NativeGallery.Permission permission = await NativeGallery.RequestPermissionAsync(permissionType, mediaTypes);MyLog("Permission result: " + permission);}private IEnumerator TakeScreenshotAndSave(){yield return new WaitForEndOfFrame();Texture2D ss = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24, false);ss.ReadPixels(new UnityEngine.Rect(0, 0, Screen.width, Screen.height), 0, 0);ss.Apply();// Save the screenshot to Gallery/PhotosNativeGallery.Permission permission = NativeGallery.SaveImageToGallery(ss, "Camera", "Image.png", (success, path) => MyLog("Media save result: " + success + " " + path));MyLog("Permission result: " + permission);// To avoid memory leaksDestroy(ss);}public void PickImage(int maxSize){NativeGallery.Permission permission = NativeGallery.GetImageFromGallery((path) =>{MyLog("Image path: " + path);if (path != null){// Create Texture from selected imageTexture2D texture = NativeGallery.LoadImageAtPath(path, maxSize);if (texture == null){MyLog("Couldn't load texture from " + path);return;}renderer.material.mainTexture = texture;}});MyLog("Permission result: " + permission);}public void PickVideo(){NativeGallery.Permission permission = NativeGallery.GetVideoFromGallery((path) =>{MyLog("Video path: " + path);if (path != null){// Play the selected videoHandheld.PlayFullScreenMovie("file://" + path);}}, "Select a video");MyLog("Permission result: " + permission);}// Example code doesn't use this function but it is here for referencepublic void PickImageOrVideo(){if (NativeGallery.CanSelectMultipleMediaTypesFromGallery()){NativeGallery.Permission permission = NativeGallery.GetMixedMediaFromGallery((path) =>{MyLog("Media path: " + path);if (path != null){// Determine if user has picked an image, video or neither of theseswitch (NativeGallery.GetMediaTypeOfFile(path)){case NativeGallery.MediaType.Image: MyLog("Picked image"); break;case NativeGallery.MediaType.Video: MyLog("Picked video"); break;default: MyLog("Probably picked something else"); break;}}}, NativeGallery.MediaType.Image | NativeGallery.MediaType.Video, "Select an image or video");MyLog("Permission result: " + permission);}}void MyLog(string str){textPrompt.text += str;}
}

相关文章:

Unity访问安卓(Android)或苹果(iOS)相册

1.下载Native Gallery for Android & iOS插件 2.在场景中添加截图按钮、选择图片按钮、选择视频按钮等 using OpenCVForUnity.CoreModule; using OpenCVForUnity.ImgprocModule; using OpenCVForUnity.UnityUtils; using System.Collections; using System.Collections.Gen…...

用webpack 构建自己的vue-cli

步骤1 :新建文件夹 my-vue-cli 步骤2: 在文件夹中输入npm init (拥有npm管理环境),之后可以安装我们所需要的包 步骤3:安装 webpack、webpack-cli (webpack打包工具,webpack 执行依赖webpack-cli) npm i webpack w…...

ZCC6982最大充电电流 2A、升压型 2 节锂电池充电管理器

特性 ■ 高达 2A 的可调充电电流(受实际散热和输入功率限制) ■ 支持 8.4V、8.6V、8.7V、8.8V 的充满电压 ■ 高达 28V 的输入耐压保护 ■ 高达 28V 的电池端耐压保护 ■ 宽输入工作电压范围:3.0V~6.5V ■ 峰值效率可达 96%、重载…...

【机器学习】无监督学习算法之:K均值聚类

K均值聚类 1、引言2、K均值聚类2.1 定义2.2 原理2.3 实现方式2.4 算法公式2.4.1 距离计算公式2.4.1 中心点计算公式 2.5 代码示例 3、总结 1、引言 小屌丝:鱼哥, K均值聚类 我不懂,能不能给我讲一讲? 小鱼:行&#xf…...

为wordpress特定分类目录下的内容添加自定义字段

在WordPress中,您可以使用自定义字段(Custom Fields)或称为元数据(Meta Data)来为特定分类目录下的内容添加额外的信息。自定义字段可以附加到文章、页面、用户和其他对象上。以下是一个逐步指南,介绍如何为特定分类目录下的内容添加自定义字段&#xff…...

javaWeb在线考试系统

一、简介 在线考试系统是现代教育中一项重要的辅助教学工具,它为学生提供了便捷的考试方式,同时也为教师提供了高效的考试管理方式。我设计了一个基于JavaWeb的在线考试系统,该系统包括三个角色:管理员、老师和学生。管理员拥有菜…...

项目管理商业文件--商业论证与效益管理计划

本文描述从事项目管理和了解项目管理领域所需的基本知识,词汇定义来自于《项目知识管理体系》(PMBOK指南)第六版,仅作个人学习使用,任何对此文章的引用,应当说明源出处,不得用于商业用途。 如有侵权、联系速删 文章目录…...

机器学习揭秘:解锁从理论到实践的每一步!

机器学习揭秘:解锁从理论到实践的每一步! 机器学习:从理论到实践的完整指南引言第一部分:机器学习概念定义与重要性历史背景 第二部分:机器学习步骤数据收集数据预处理特征工程模型选择训练模型模型评估参数调优模型部…...

Kotlin协程CoroutineScope命名空间CoroutineName,Kotlin

Kotlin协程CoroutineScope命名空间CoroutineName&#xff0c;Kotlin import kotlinx.coroutines.*fun main(args: Array<String>) {val myName CoroutineName("fly")runBlocking {CoroutineScope(Dispatchers.IO).launch {repeat(3) {val name coroutineCont…...

HAL STM32G4 +TIM1 3路PWM互补输出+VOFA波形演示

HAL STM32G4 TIM1 3路PWM互补输出VOFA波形演示 ✨最近学习研究无刷电机驱动&#xff0c;虽然之前有使用过&#xff0c;但是在STM32上还没实现过。本文内容参考欧拉电子例程&#xff0c;从PWM驱动开始学习。 欧拉电子相关视频讲解&#xff1a; STM32G4 FOC开发实战—高级定时器发…...

MySQL进阶-----索引的结构与分类

目录 前言 一、认识索引 二、索引结构 1.概述 2. 二叉树 3 .B-Tree 4.BTree 5.Hash 三、索引的分类 1 .索引分类 2 .聚集索引&二级索引 前言 索引&#xff08;index&#xff09;是帮助MySQL高效获取数据的数据结构(有序)。在数据之外&#xff0c;数据库系统还维…...

FPGA高端项目:解码索尼IMX390 MIPI相机转HDMI输出,提供FPGA开发板+2套工程源码+技术支持

目录 1、前言2、相关方案推荐本博主所有FPGA工程项目-->汇总目录我这里已有的 MIPI 编解码方案 3、本 MIPI CSI-RX IP 介绍4、个人 FPGA高端图像处理开发板简介5、详细设计方案设计原理框图IMX390 及其配置MIPI CSI RX图像 ISP 处理图像缓存HDMI输出工程源码架构 6、工程源码…...

激光显示技术不断进步 国家政策推动行业发展

激光显示技术不断进步 国家政策推动行业发展 激光显示技术即用激光器作为光源的图像信息终端显示技术&#xff0c;是一种新型的投影显示技术。激光显示具有高亮度、色域覆盖率广、维护成本低等优点&#xff0c;在车载显示、家庭娱乐、教育等领域中应用广泛。激光显示产品主要有…...

iOS开发优势解析,费用探究以及软件开发详解

摘要 本文探讨了iOS开发的优势、费用以及软件开发方面的相关内容。通过分析iOS开发所采用的编程语言、开发环境、用户界面设计、应用审核流程以及应用领域等方面&#xff0c;展示了iOS开发的诸多优势和特点。虽然iOS开发具有高用户体验、统一的硬件和软件环境、良好的市场份额…...

02课程发布模块之部署Nginx

部署Nginx 部署网关 通过Nginx访问后台网关&#xff0c;然后由网关再将请求转发到具体的微服务,网关会把请求转发到具体的服务 upstream gatewayserver{server 127.0.0.1:63010 weight10; } # 网站首页对应的虚拟机 server {listen 80;server_name www.51xuecheng.cn…...

web学习笔记(四十二)

目录 1.ECMAScript 新特性-async 和await 1.1async函数 1.2await函数 1.3补充&#xff1a; 2. ES6模块化 2.1模块化的优点 2.2 ES6 模块化语法 2.3 ES6 模块暴露 2.4ES6 模块导入 1.ECMAScript 新特性-async 和await 1.1async函数 async函数可以单数使用&#xff0c;…...

大模型分布式推理ray

一、目录 1 框架 2. 入门 3. 安装教程 4. 相关文档、案例阅读 二、实现 1 框架&#xff1a;Ray&#xff1a;将一个模型拆分到多个显卡中&#xff0c;实现分布式预测、训练等功能。 2. 入门 &#xff1a; 案例&#xff1a;通过ray 实现分布式部署&#xff0c;分布式推理服务。…...

Python学习:循环语句

Python循环语句 概念 循环语句是编程中常用的结构&#xff0c;用于多次执行相同或类似的代码块。Python中有两种主要的循环语句&#xff1a;for循环和while循环。 for循环&#xff1a; for循环用于遍历一个序列&#xff08;如列表、元组、字符串等&#xff09;中的元素&#x…...

【物联网开源平台】tingsboard二次开发

别看这篇了&#xff0c;这篇就当我的一个记录&#xff0c;我有空我再写过一篇&#xff0c;编译的时候出现了一个错误&#xff0c;然后我针对那一个错误执行了一个命令&#xff0c;出现了绿色的succes,我就以为整个tingsboard项目编译成功了&#xff0c;后面发现的时候&#xff…...

Vue+ELement UI el-table移入或选中某行时改变颜色

起因 出库按钮 置灰时&#xff0c;鼠标移入到表格的某行时&#xff0c;行背景颜色与按钮背景颜色会被覆盖住 最初颜色 实现效果 修改行背景颜色 <style>/* 用来设置当前页面element全局table 选中某行时的背景色*/.el-table__body tr.current-row>td{background-c…...

Sobolev学习代理加速优化:激活函数与径向基函数选择鲁棒性分析

1. 项目概述与核心思路在工程优化和科学计算领域&#xff0c;我们常常会遇到一个令人头疼的问题&#xff1a;目标函数的每一次评估都极其昂贵。比如&#xff0c;一次评估可能意味着运行一次耗时数小时的流体力学仿真&#xff0c;或者调用一次复杂的有限元分析。传统的无导数优化…...

终极指南:如何用novel-downloader轻松保存网络小说到本地

终极指南&#xff1a;如何用novel-downloader轻松保存网络小说到本地 【免费下载链接】novel-downloader 一个可扩展的通用型小说下载器。 项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader 你是否曾经遇到过心爱的小说突然从网站上消失的窘境&#xff1f…...

3步搞定B站缓存视频转换:m4s-converter完整使用指南

3步搞定B站缓存视频转换&#xff1a;m4s-converter完整使用指南 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经为B站缓存的视频无法在…...

如何在Mac上实现窗口置顶:Topit完整指南让多任务处理更高效

如何在Mac上实现窗口置顶&#xff1a;Topit完整指南让多任务处理更高效 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 你是否经常需要在多个窗口之间来回切换&…...

Grafana CVE-2021-43798路径遍历漏洞原理与实战复现

1. 这个漏洞不是“找文件”&#xff0c;而是Grafana的API信任机制被彻底绕过你可能在靶场里点开Grafana登录页&#xff0c;输入默认账号密码&#xff0c;进后台点几下就以为复现完成了——但那只是界面&#xff0c;不是漏洞。CVE-2021-43798的本质&#xff0c;是Grafana 8.x版本…...

5分钟快速上手:DDrawCompat让经典游戏在现代Windows上流畅运行的终极方案

5分钟快速上手&#xff1a;DDrawCompat让经典游戏在现代Windows上流畅运行的终极方案 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh…...

百度网盘直链解析:告别限速的Python神器实战指南

百度网盘直链解析&#xff1a;告别限速的Python神器实战指南 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 你是否曾经面对百度网盘几十KB的下载速度感到绝望&#xff1f;当你…...

小型语言模型在乳业智能决策中的技术突破与应用

1. 小型语言模型在乳业智能决策中的技术突破在乳制品行业数字化转型浪潮中&#xff0c;我们面临着一个核心矛盾&#xff1a;大型语言模型&#xff08;LLM&#xff09;虽然能力强大&#xff0c;但高昂的云计算成本和数据隐私风险让大多数牧场望而却步。而小型语言模型&#xff0…...

Fiddler HTTPS抓包证书失败全解析:跨平台实战排障指南

1. 为什么HTTPS抓包总在“证书这关”卡死&#xff1f;——一个老手的切肤之痛Fiddler HTTPS抓包&#xff0c;听起来就该是“装个软件→勾选Decrypt HTTPS→开干”三步走的事。但现实是&#xff1a;90%的人卡在第一步——证书安装失败&#xff1b;剩下9%的人卡在第二步——浏览器…...

Chatbox终极主题定制指南:打造专属AI交互界面

Chatbox终极主题定制指南&#xff1a;打造专属AI交互界面 【免费下载链接】chatbox Powerful AI Client 项目地址: https://gitcode.com/GitHub_Trending/ch/chatbox 你是否曾经在深夜编码时&#xff0c;被刺眼的浅色界面晃得眼睛发疼&#xff1f;又或者&#xff0c;你是…...