UnityWebRequest下载图片和视频进行使用

这篇具有很好参考价值的文章主要介绍了UnityWebRequest下载图片和视频进行使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

利用空余时间写一下网络下载资源使用,进行熟悉一些UnityWebRequest,unity已经抛弃了WWW,这里很简单只需要把脚本挂载就行,所有的界面操作都通过代码实现。 资源的下载,删除都做了相应的操作unitywebrequest 下载videoclip,Unity,unity

 文章来源地址https://www.toymoban.com/news/detail-538128.html

using System.Collections;
using System.IO;
using UnityEditor;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.Video;

namespace AssetDatabaseTest
{
    public class UnityWebRequestTest : MonoBehaviour
    {
        private void Start()
        {
            //下载视频
            StartCoroutine(Download());
            // DonLoadImage
            StartCoroutine(DonLoadImage());
        }

        IEnumerator Download()
        {
            var goTest = new GameObject
            {
                name = "UnityWebRequest"
            };
            var unityWebRequest = UnityWebRequest.Get("https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg3.mp4");
            yield return unityWebRequest.SendWebRequest();
            if (unityWebRequest.error!=null)
            {
                Debug.Log("通信中");
                yield return unityWebRequest;
            }
            var  downloadHandler=unityWebRequest.downloadHandler;
            if (!downloadHandler.isDone)
            {
                Debug.Log("下载中");
                yield return downloadHandler;
            }else
            {
                Debug.Log("下载成功");
                var videoPlayer=goTest.AddComponent<VideoPlayer>();
                videoPlayer.renderMode = VideoRenderMode.CameraFarPlane;
                videoPlayer.targetCamera=Camera.main;
                Debug.Log(downloadHandler.data);
                // if (!File.Exists(Application.dataPath + "/Resources/YourVideoName.mp4"))
                    yield return  File.WriteAllBytesAsync(Application.dataPath + "/Resources/YourVideoName.mp4",
                        downloadHandler.data);
                    AssetDatabase.Refresh();
                    videoPlayer.clip= Resources.Load<VideoClip>("YourVideoName");
                // AssetDatabase.LoadAssetAtPath<VideoClip>(Application.dataPath + "/YourVideoName.mp4");
                videoPlayer.Play();
                videoPlayer.isLooping = true;
            }
        }

        IEnumerator DonLoadImage()
        {
            string url = "http://www.baidu.com/img/bdlogo.png";
           
            var unityWebRequest =  UnityWebRequestTexture.GetTexture(url);
            yield return unityWebRequest.SendWebRequest();
            if (unityWebRequest.error != null)
            {
                Debug.Log("请求中");
                yield return unityWebRequest;
            }
            var downloadHandler = unityWebRequest.downloadHandler;
            if (!downloadHandler.isDone)
            {
                Debug.Log("下载中");
                yield return downloadHandler;
            }
            else
            {
                Debug.Log("下载完成");
                var handlerData = downloadHandler;
                yield return File.WriteAllBytesAsync(Application.dataPath + "/Resources/YourImage.png", handlerData.data);
                var g= GameObject.CreatePrimitive(PrimitiveType.Capsule);
                g.GetComponent<MeshRenderer>().sharedMaterial = new Material( g.GetComponent<MeshRenderer>().sharedMaterial);
                // g.GetComponent<MeshRenderer>().sharedMaterial.color=Color.blue;
                AssetDatabase.Refresh();
                g.GetComponent<MeshRenderer>().sharedMaterial.mainTexture=
                    Resources.Load<Texture>("YourImage");

            }
            yield return null;
        }

        private void OnDestroy()
        {
            File.Delete(  Application.dataPath + "/Resources/YourImage.png");
            File.Delete(  Application.dataPath + "/Resources/YourVideoName.mp4");
            AssetDatabase.Refresh();
        }
    }
}

到了这里,关于UnityWebRequest下载图片和视频进行使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity 启动时带参数,网页后端进行数据交互 UnityWebRequest ,Post,Get,Delete

    启动传参数可以参考这篇文章: 浏览器调用本地exe(应用程序)方法 Unity准备工作 需要用到这个API 官方解释:返回包含当前进程的命令行参数的字符串数组 返回值是一个string[],当Length1的时候就是带参数,注意:在UnityEditor模式也就是编辑器模式会有默认参数返回,Length是大于1的 常用

    2024年02月16日
    浏览(31)
  • Unity UnityWebRequest使用http与web服务器通讯

    一、搭建客户端与服务器http通讯 1.在Nodejs中文官网Node.js 中文网 (nodejs.com.cn),下载并安装Nodejs  2.在项目文件夹下新建WebServer文件夹,打开CMD窗口,在WebServer文件夹路径下安装express    3.在WebServer文件夹中新建main.js文件,在main.js中编写服务端脚本  4.在CMD中运行main.js,打开

    2024年02月16日
    浏览(66)
  • Unity解决:没有UnityWebRequest.Result

    当我在Unity 2019中使用Unity 2021的代码satable时。 控制台显示 “UnityWebRequest”不包含“result”的定义,并且找不到接受“UnityWebRequest”类型的第一个参数的可访问扩展方法“result”(是否缺少using指令或程序集引用?) 漏洞/问题: 版本2020.3中添加了result。 在该版本之前,只需

    2024年02月05日
    浏览(25)
  • Unity 如何实现异步UnityWebRequest请求

    Unity官方从2018开始,已经不推荐使用WWW了,更推荐使用UnityWebRequest,UnityWebRequest的使用方法和WWW类似,都是使用协程的方式来等待网络回复,但是存在几个问题: 1.协程只能在Unity运行时使用。所以编辑器工具如果要做网络请求,就没法用协程了。 2.协程是同步阻塞的方式,

    2024年02月07日
    浏览(24)
  • Unity C# 网络学习(十)——UnityWebRequest(一)

    UnityWebRequest与WWW的区别 UnityWebRequest将各种资源进行了拆分 UnityWebRequest比WWW的效率更高,有很低的GC产生 更方便的上传数据 1.下载文本和二进制数据 2.下载图片数据 3.下载AssetBundle数据 4.下载音频数据 1.上传数据类MultipartFormDataSection 2.上传数据类MultipartFormFileSection 3.Post发送数

    2023年04月08日
    浏览(23)
  • 【Unity】UnityWebRequest学习——Unity中的HTTP网络通信

    Unity中的HTTP通信主要依赖的是Unity自带的UnityWebRequest类。UnityWebRequest 提供了一个模块化系统,用于构成 HTTP 请求和处理 HTTP 响应。 UnityWebRequest 生态系统将 HTTP 事务分解为三个不同的操作: 向服务器提供数据 从服务器接收数据 HTTP 流量控制(例如,重定向和错误处理) 对于

    2024年01月23日
    浏览(46)
  • Unity3d UnityWebRequest调用接口报错Curl error 60: Cert verify failed: UNITYTLS_X509VERIFY_FLAG_EXPIRED解决办法

    Unity3d使用UnityWebRequest组件调用https(类似https://xxx.com/apipath)接口数据,然后报错 Curl error 60: Cert verify failed: UNITYTLS_X509VERIFY_FLAG_EXPIRED 和 SSL CA certificate error : 大致的意思是证书验证失败 和 SSL CA证书错误。 尝试使用Postman进行测试,得到也是类似的错误: 和后台接口提供人员

    2024年02月01日
    浏览(31)
  • 使用uniapp实现小程序图片和视频的下载功能

    提示:本人亲测可直接使用 url: http 图片/视频 is_video:false图片下载 true视频下载 提示:这是使用的小程序,可以去体验

    2024年02月11日
    浏览(35)
  • 使用ffmpeg对视频、图片进行旋转,上下翻转,水平翻转

    简介 :在使用ffmpeg做.h264编码后可能会使用vlc播放出现了图像垂直颠倒。可能的原因:RGB图像有两种存储方式:一种是从上往下扫描;另一种是从下往上扫描。OpenCV为从上往下扫描的方式,ffmpeg可能也是从上往下的存储方式,而OpenGL/Unity中的帧缓冲数据可能是从下往上的扫描

    2024年02月15日
    浏览(59)
  • Python:使用opennsfw2对图片/视频进行鉴黄识别

    本文详细介绍了如何使用Python和opennsfw2库进行图片和视频的鉴黄识别。包括环境准备、代码实践、高级用法等内容。

    2024年02月13日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包