18
2016
08

Unity3D杩愯鏃惰鍙栧閮∕P3鏂囦欢

鍦≒C绔疺R娓告垙寮鍙戜腑锛岄渶瑕佸姩鎬佸姞杞芥湰鍦扮殑MP3鏂囦欢锛屼絾鏄疷nity3D涓嶇煡閬撳嚭浜庝粈涔堝師鍥狅紝鍒5.4.0涔熶笉鏀寔MP3鏂囦欢鐨勫閮ㄥ姞杞斤紙鐩墠鍙敮鎸亀av鍜宱gg锛夈

鍥犳瑕佹兂閫氳繃www鏉ュ姞杞絤p3鏂囦欢灏卞彧鑳介噰鐢ㄦ洸绾挎晳鍥界殑鏂瑰紡锛屽皢MP3鏂囦欢璇诲彇鍚庤浆涓簑av鎴栬卭gg锛岀劧鍚庡啀缁橝udioSource鏉ユ挱鏀

鐢变簬鍙槸鍦≒C绔繘琛屽紑鍙戯紝鏁呰繖閲岄噰鐢∟Audio.dll杩欎釜绫诲簱銆備娇鐢∟Audio闇瑕佸皢椤圭洰Unity3D宸ョ▼鐨凙PI鐗堟湰鏀规垚.net 2.0锛堥粯璁ゆ槸.net 2.0 sub锛屽湪PlayerSetting->OtherSettings鐨凙pi Compatibility Level锛夈傚皢NAudio.dll鏀剧疆鍦ㄩ」鐩殑Plugins鏂囦欢澶逛笅銆

浠g爜閮ㄥ垎濡備笅

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();     
    }     
}

NAudio.dll鐨勪笅杞藉湴鍧http://naudio.codeplex.com/releases/view/612263

芦 涓婁竴绡 涓嬩竴绡 禄