如何在本地文件中连接 AudioClip

how to connect AudioClip at local file

我从服务器下载了 .mp3 文件并将其存储在我的 android persistentDataPath 中。但我不知道如何将 .mp3 文件连接到 AudioClip。 如果有解决方法,请告诉我。

更新

正如评论中所指出的那样,WWW 现在支持 .mp3 文件,这就是未来的方向。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public string url;
    public AudioSource source;
    void Start() {
        WWW www = new WWW(url);
        source = GetComponent<AudioSource>();
        source.clip = www.audioClip;
    }
    void Update() {
        if (!source.isPlaying && source.clip.isReadyToPlay)
            source.Play();

    }
}

原回答:

音频剪辑不接受文件。它接受一组浮点数。

您可以使用 NAudio 将压缩的 MP3 转换为 WAV 文件。

using NAudio;
using NAudio.Wave;
// ....

using (Mp3FileReader reader = new Mp3FileReader(mp3File))
{
    WaveFileWriter.CreateWaveFile(outputFile, reader);
}

然后您需要读取 wave 文件,它基本上有一个 header 后跟块数据。块数据可以转换为浮点数并发送到您的音频剪辑。