久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

        手機站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時隨地免費學(xué)習(xí)課程

        當(dāng)前位置:首頁  >  技術(shù)干貨  > Unity中下載圖片、音頻

        Unity中下載圖片、音頻

        來源:千鋒教育
        發(fā)布人:qyf
        時間: 2022-08-29 15:26:09 1661757969

        Unity中下載圖片、音頻

          使用unity2020.3.0進(jìn)行網(wǎng)絡(luò)圖片、音頻和視頻資源的加載和交互,通過網(wǎng)上搜索資源并結(jié)合工程實踐嘗試了一些操作,實現(xiàn)了相似的功能,在此分享給大家。

          一、下載圖片

          曾經(jīng)使用的www方式進(jìn)行下載,這里使用UnityWebRequest在攜程中進(jìn)行下載,具體實現(xiàn)方式如下:

          IEnumerator getImage(string url)

          {

          UnityWebRequest unityWebRequest = UnityWebRequest.Get(url);

          yield return unityWebRequest.SendWebRequest();

          if (unityWebRequest.isNetworkError || unityWebRequest.isHttpError)

          {

          Debug.Log("網(wǎng)絡(luò)錯誤");

          }

          else

          {

          // 網(wǎng)絡(luò)正常情況先獲取到圖片的數(shù)據(jù)

          byte[] results = unityWebRequest.downloadHandler.data;

          // 創(chuàng)建一個 Texture,這個尺寸要自己定

          Texture2D myTexture = new Texture2D(1, 1);

          myTexture.LoadImage(results);

          myTexture.Apply();

          yield return new WaitForSeconds(0.01f);

          if (m_videoShow != null)

          {

          m_videoShow.GetComponent().texture = myTexture;

          }

          yield return new WaitForSeconds(0.01f);

          Resources.UnloadUnusedAssets();

          }

          }

          二、加載網(wǎng)絡(luò)音頻

          思路:可以直接加載播放;也可以下載到本地,然后進(jìn)行播放。

          (一)直接可以加載播放

          using (var uwr = UnityWebRequestMultimedia.GetAudioClip(url, AudioType.MPEG))

          {

          yield return uwr.SendWebRequest();

          if (uwr.isNetworkError)

          {

          Debug.LogError("uwrERROR:" + uwr.error);

          m_errList.text = uwr.error;

          }

          else

          {

          GetComponent().clip = DownloadHandlerAudioClip.GetContent(uwr);

          }

          }

          GetComponent().Play();

          yield return new WaitForSeconds(0.01f);

          Resources.UnloadUnusedAssets();

          (二)下載然后播放

          IEnumerator getMp3Data(string url)

          {

          UnityWebRequest unityWebRequest = UnityWebRequest.Get(url);

          yield return unityWebRequest.SendWebRequest();

          if (unityWebRequest.isNetworkError || unityWebRequest.isHttpError)

          {

          // 網(wǎng)絡(luò)錯誤

          Debug.Log("網(wǎng)絡(luò)錯誤");

          }

          else

          {

          // 網(wǎng)絡(luò)正常情況

          // 先獲取到圖片的數(shù)據(jù)

          byte[] results = unityWebRequest.downloadHandler.data;

          System.IO.File.WriteAllBytes(m_tempFTPFilePath, results);

          yield return new WaitForSeconds(0.01f);

          Resources.UnloadUnusedAssets();

          }

          PlayAudio(m_tempFTPFilePath);

          }

          然后進(jìn)行播放,具體如下:

          void PlayAudio(string urlNow)

          {

          //獲取音頻名稱

          string cacheUrl;

          string urlOld = urlNow;

          int posNow = urlNow.LastIndexOf('/');

          //wav保存地址

          cacheUrl = urlNow.Insert(posNow, "/Cache").Replace(".mp3", ".wav");

          //判斷是否已經(jīng)轉(zhuǎn)換過

          if (!File.Exists(@cacheUrl))

          {

          //將MP3轉(zhuǎn)換成WAV

          using (var audioStrem = new Mp3FileReader(urlOld))

          {

          WaveFileWriter.CreateWaveFile(@cacheUrl, audioStrem);

          }

          }

          //使用Unity加載wav音頻并播放

          StartCoroutine(LoadAndPlay(@cacheUrl));

          }

          更多關(guān)于unity游戲培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗,采用全程面授高品質(zhì)、高體驗培養(yǎng)模式,擁有國內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實現(xiàn)高薪夢想。

        tags:
        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
        請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
        免費領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        軟件開發(fā)管理流程中會出現(xiàn)哪些問題?

        一、需求不清需求不明確是導(dǎo)致項目失敗的主要原因之一。如果需求沒有清晰定義,開發(fā)人員可能會開發(fā)出不符合用戶期望的產(chǎn)品。二、通信不足溝通問...詳情>>

        2023-10-14 13:43:21
        軟件定制開發(fā)中的敏捷開發(fā)是什么?

        軟件定制開發(fā)中的敏捷開發(fā)是什么軟件定制開發(fā)中的敏捷開發(fā),從宏觀上看,是一個高度關(guān)注人員交互,持續(xù)開發(fā)與交付,接受需求變更并適應(yīng)環(huán)境變化...詳情>>

        2023-10-14 13:24:57
        什么是PlatformIo?

        PlatformIO是什么PlatformIO是一個全面的物聯(lián)網(wǎng)開發(fā)平臺,它為眾多硬件平臺和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡化了開發(fā)過程,并能兼容各種...詳情>>

        2023-10-14 12:55:06
        云快照與自動備份有什么區(qū)別?

        1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時間點后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動備份的主要目標(biāo)...詳情>>

        2023-10-14 12:48:59
        服務(wù)器為什么要用Linux?

        服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨特的優(yōu)勢和特點。包括其...詳情>>

        2023-10-14 12:34:11
        元氏县| 台东市| 平山县| 屏边| 宝清县| 廉江市| 葵青区| 南充市| 大英县| 衡东县| 环江| 南投县| 金塔县| 南康市| 郑州市| 罗甸县| 斗六市| 河源市| 呼和浩特市| 隆安县| 阿荣旗| 武川县| 临沂市| 什邡市| 乐陵市| 濮阳县| 全州县| 禹城市| 九龙县| 绍兴市| 新田县| 浮梁县| 隆昌县| 北海市| 青铜峡市| 滕州市| 高青县| 阳信县| 塔河县| 东城区| 平昌县|