使用版本2020.

目标:在unity工程中读取工程之外的一个音乐文件,进行播放。可以在工程外动态随时修改音乐歌曲。

---如果不想看文字,或者看不懂的,也可以看视频教程---我公众号里有。公众号:unity风雨路。

---下面开始:

新建一个相机,然后把audio source 和Audio Listener组件加上。之后再加入一个脚本Exposure_voice。如下图:

脚本Exposure_voice的详细代码如下:

using UnityEngine;
using System.Collections;
using System.IO;
using System;
using System.Text;public class Exposure_voice : MonoBehaviour {private string url_voice;//歌曲文件名private string get_url;//歌曲文件所在位置。例如MP3……string Musicpath = "musicpath.txt";public  AudioClip myclip;//音乐文件public AudioSource AS;void Start(){ArrayList arrlist = Exposure_voice.LoadFile(System.Environment.CurrentDirectory, Musicpath);string lines;foreach (string str in arrlist){lines = str;url_voice = lines;Debug.Log("歌曲名是什么" + lines);}//外部加载声音的路径,拼接www下载文件路径get_url = "file://"+ System.Environment.CurrentDirectory +"//"+ url_voice + ".mp3";Debug.Log("url+++" + get_url);StartCoroutine("DownloadVoice");}//c#读取文件的方法public static ArrayList LoadFile(string path, string name){StreamReader sr = null;try{sr = File.OpenText(path + "//" + name);}catch (Exception e){Debug.Log("没有文件" + e.Message);return null;}string line;ArrayList arrList = new ArrayList();while ((line = sr.ReadLine()) != null){arrList.Add(line);}sr.Close();sr.Dispose();return arrList;}[Obsolete]IEnumerator DownloadVoice(){WWW w = new WWW(get_url);yield return w;//将声音资源赋值为外部加载的声音即可//myclip = w.GetAudioClip();AS.clip = myclip;Debug.Log("音乐"+myclip.loadState+myclip.name);// AS.Play();}
}

代码是本文的核心,也是实现从外部加载音乐的核心。

从代码中可看出,只要找到当前路径下的音乐文件就可以了。

为了方便更换音乐文件,所以在musicpath这个文本文件中写入了音乐文件的名字。

注意:musicpath这个文本文件中写入的内容必须是音乐文件的名字。例如歌曲名是“张三”,那么musicpath这个文本文件中写入的字符串必须是“张三”。

最终打包之后。音乐文件以及musicpath这个文本文件是和打包后的exe运行程序同级目录的。

unity动态读取外部音乐并播放相关推荐

  1. 匹夫细说Unity3D(一)——移动平台动态读取外部文件全解析

    前言: 一直有个想法,就是把工作中遇到的坑通过自己的深挖总结成一套相同 问题 的解决方案供各位同行拍砖探讨.眼瞅着2015年第一个工作日就要来到了,小匹夫也休息的差不多了,寻思着也该写点东西活动活动大 ...

  2. 慕容小匹夫 Unity3D移动平台动态读取外部文件全解析

    Unity3D移动平台动态读取外部文件全解析 c#语言规范 阅读目录 前言: 假如我想在editor里动态读取文件 移动平台的资源路径问题 移动平台读取外部文件的方法 补充: 回到目录 前言: 一直有 ...

  3. Flash:关键帧中调用自建的音乐类,进行播放、关闭、循环音乐+按键播放或者关闭外部音乐+循环播放背景音乐+播放按钮音乐+停止+加载外部音乐文件+AS2播放背景音乐

    目录 一.关键帧里面:调用自建的音乐类, 循环播放外部音乐.进行播放.关闭.循环音乐 1.代码:自建音乐类 2.关键帧中创建.播放.暂停背景音乐+按钮音乐 3.文件布置 二.关键帧中:按键播放或者关闭 ...

  4. SpringBoot打成jra包启动时读取外部配置文件实现动态配置

    场景 若依前后端分离版手把手教你本地搭建环境并运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662 在上面 ...

  5. 【Python】音乐可视化播放器(PyQt5 + matplotlib.animation)

    前言 最近同学有个作业,做音乐可视化播放器,为了学习PyQt,我就尝试做了做.该设计主要分为音乐播放器和可视化两部分.两部分单独做相对于结合在一起容易很多,结合的过程遇到了很多麻烦. 音乐播放器: 采 ...

  6. unity 手机端和编辑器下播放带有透明通道的视频详解

    unity 手机端和编辑器下播放带有透明通道的视频详解 在项目开发中,可能会涉及到视频的播放,普通的视频播放如果大家不会的请自行百度,今天主要讲解带有透明通道的视频的播放问题,尤其是在手机端的处理,下 ...

  7. android写的音乐播放器,实现本地音乐的扫描,并对音乐实现播放暂停的管理(一)

    最近做了个android音乐播放器,实现了简单的本地音乐的扫描,并对音乐进行播放暂停的简单管理.遇到了很多困难,虽然解决了一些,实现了基本功能,但是还有很多困难没有解决,由于时间的关系,也没有办法再解 ...

  8. Unity接入Naudio实现多音频播放和多声道融合

    Unity接入Naudio实现多音频播放和多声道融合 由于项目需要也为了日后加深印象特意进行开发记录. 1.接入Naudio程序集 NAudio官方地址:http://naudio.codeplex. ...

  9. unity动态加载obj文件

    unity2018.4.2f1 vs2017 最近项目需求,需要实现动态读物外部obj模型,并加载到场景中,研究了好几天,终于实现了,在此做个记录. 1.首先随便找个.obj模型,带贴图,我的资源截图 ...

最新文章

  1. hdu 2896 病毒侵袭
  2. 《江南》、乌镇、《似水年华》
  3. bzoj 3380: [Usaco2004 Open]Cave Cows 1 洞穴里的牛之一(状压+BFS)
  4. 网线连接电脑共享文件传递
  5. 相比于深度学习,传统的机器学习算法难道就此没落了吗,还有必要去学习吗?
  6. WIN10安装cad2006提示无权限安装的解决办法
  7. 计算机专业朋友圈文案,朋友圈文案合集_用来发微信朋友圈的句子
  8. JS笔记:检测客户端(引擎、浏览器、平台、操作系统、移动设备)
  9. Halcon条形码识别
  10. 测试一下Pinia,Vuex 要出局了?
  11. AT指令详解,错误代码详解
  12. 纯js图片验证码Captcha.js
  13. 【读论文】基于三支决策的不平衡数据过采样方法
  14. 矩阵分析——LU分解
  15. C++程序设计实践里面石头剪刀布版王者农药实例
  16. 周怎么换算成月_最大的黄金ETF出现增持,震荡周如何操作?
  17. 使用spark建立逻辑回归(Logistic)模型帮Helen找男朋友
  18. Element之checkBox复选框
  19. 鸿学金信风控详细介绍
  20. win8下硬盘安装linux,通用解决方案:使用grub4dos硬盘安装实现win7 win8和Ubuntu linux多系统...

热门文章

  1. Kotlin开发中的一些Tips
  2. Ghost下的gho镜像分区工具
  3. YOLOv4 caffemodel转om在Atlas服务器上面推理
  4. Quaternion Knowledge Graph Embeddings
  5. 机器视觉软件开发前景
  6. Java基础 - 面板组件JPanel
  7. ajax调用asp.net,jQuery.ajax()调用asp.net后台方法(非常重要)
  8. 看了一篇关于人生评论
  9. 环信即时通讯单聊集成,添加好友,实现单聊
  10. IOU GIOU DIOU CIOU