Unity读取服务器声音文件

使用WWW功能,除了能够下载图片,还能下载声音,方法与下载图片类似,下面是一个简单的实例:

1.在网站的根目录放置一个声音文件Alarm01.wav(这个是window系统自带的找不到这个格式的可以直接在C盘搜索)

2.在WebManager.cs脚本中添加clipPath、audio、m_downloadClip属性和DownloadSound()函数:


    #region 声音下载

    string clipPath = "http://127.0.0.1:8088/Alarm01.wav";

    protected AudioClip m_downloadClip;

    AudioSource audio;
    #endregion

 IEnumerator DownloadSound()
    {
        WWW www = new WWW(clipPath);

        yield return www;

        if (www.error != null)
        {
            m_info = www.error;
            yield return null;
        }

        m_downloadClip = www.GetAudioClip(true,true,AudioType.WAV);
        audio.clip = m_downloadClip;
        audio.Play();
    }

3.在脚本挂载的游戏对象身上添加一个AudioSouce组件

4.在Awake函数中执行DownloadSound()函数并找到Audiosource组件

    private void Awake()
    {
        audio = GetComponent<AudioSource>();
        StartCoroutine(DownloadSound());
    }

注意:

这里的www.GetAudioClip(true,true,AudioType.WAV)的最后一个需要修改格式,在window平台下不支持直接读取MP3的音频文件,通常MP3文件我们会放在Unity的工程内打包处理,wav格式的通常是录音文件等。

发布了62 篇原创文章 · 获赞 5 · 访问量 3925

猜你喜欢

转载自blog.csdn.net/qq_42194657/article/details/103054040