Unity3D动态读取外部MP3文件给AudioSource
来源:互联网 发布:学北京话软件 编辑:程序博客网 时间:2024/05/19 13:15
转载连接
在PC端VR游戏开发中,需要动态加载本地的MP3文件,但是Unity3D不知道出于什么原因,到5.4.0也不支持MP3文件的外部加载(目前只支持wav和ogg)。
因此要想通过www来加载mp3文件就只能采用曲线救国的方式,将MP3文件读取后转为wav或者ogg,然后再给AudioSource来播放
由于只是在PC端进行开发,故这里采用NAudio.dll这个类库。使用NAudio需要将项目Unity3D工程的API版本改成.net 2.0(默认是.net 2.0 sub,在PlayerSetting->OtherSettings的Api Compatibility Level)。将NAudio.dll放置在项目的Plugins文件夹下。
代码部分如下
using System.Collections; using System.IO; using NAudio.Wave; using UnityEngine; public class MusicLoad : MonoBehaviour { protected void OnGUI() { if (GUILayout.Button("www")) { StartCoroutine(LoadMusic(@"C:\Users\CGZ\Desktop\1.mp3", @"C:\Users\CGZ\Desktop\1.wav")); } } public AudioSource Source; private IEnumerator LoadMusic(string filepath, string savepath) { var stream = File.Open(filepath, FileMode.Open); var reader = new Mp3FileReader(stream); WaveFileWriter.CreateWaveFile(savepath, reader); var www = new WWW("file://" + savepath); yield return www; var clip = www.audioClip; Source.clip = clip; Source.Play(); } }
NAduio下载
0 0
- Unity3D动态读取外部MP3文件给AudioSource
- Unity3d 动态读取外部文件
- Unity3d 动态读取外部文件
- Unity3d 动态读取外部文件
- Unity3d 动态读取外部文件
- Unity3d 动态读取外部文件 |Unity3d 发布网页访问本地文件
- Unity3D移动平台动态读取外部文件全解析
- Unity3D移动平台动态读取外部文件全解析
- Unity3D移动平台动态读取外部文件全解析
- Unity3D移动平台动态读取外部文件全解析
- Unity3D移动平台动态读取外部文件全解析
- Unity3D移动平台动态读取外部文件全解析
- Unity3d AudioSource
- Unity 外部动态读取MP3格式的声音
- 细说Unity3D(一)——移动平台动态读取外部文件全解析
- Unity3D(一)——移动平台动态读取外部文件全解析
- 【干货】细说Unity3D——移动平台动态读取外部文件全解析
- 细说Unity3D——移动平台动态读取外部文件全解析(转)
- CodeForces 633 A.Ebony and Ivory(水~)
- PES,TS,PS,RTP等流的打包格式解析之PES流
- Problem A: 字符串“水”题(二进制存储)
- 敏俊物联MJIOT-AMB-02 RTL8195M 高性能wifi模块
- linux less查看日志信息
- Unity3D动态读取外部MP3文件给AudioSource
- Eclipse Switch WorkSpace 历史记录
- 【C语言 数据结构】栈的极简实现
- AngularJS2 学习笔记(一)
- i am stuck
- Linux的SOCKET编程详解
- Spring boot集成Httl模板引擎
- VM调优总结(这个总结得比较全面)
- linux CentOs6.5 下jdk 1.8 安装流程