【问题标题】:how to connect AudioClip at local file如何在本地文件中连接 AudioClip
【发布时间】:2017-07-06 01:09:41
【问题描述】:

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

【问题讨论】:

  • 对不起.. 我找到了答案。我不知道有 www.audioClip。我可以用这个。

标签: c# unity3d audioclip


【解决方案1】:

更新

正如 cmets 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);
}

然后您需要读取波形文件,该文件基本上有一个标题,后面是块数据。块数据可以转换为浮点数并发送到您的音频剪辑。

【讨论】:

  • 您可以使用 WWW 类,因为它是内置的,此任务不需要外部库。
  • 上次我检查了 WWW 不支持 .mp3
  • 确实如此,我一直在使用它!
  • 感谢您的回答。这对我帮助很大。
  • 哦,我不知道他们增加了对 MP3 的支持。
猜你喜欢
  • 1970-01-01
  • 2012-11-16
  • 1970-01-01
  • 2020-07-20
  • 2012-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-14
相关资源
最近更新 更多