【发布时间】:2019-05-15 15:12:35
【问题描述】:
我需要从 URL 下载音频(OGG、Mp3 或 wav)并播放。
在编辑器中工作正常,在独立构建中也是如此。
但不是在 WebGL 构建中。我遇到任何错误或(取决于格式)这个:
不支持在此平台上流式传输“mpeg” UnityEngine.Networking.DownloadHandlerAudioClip:GetContent(UnityWebRequest)
我的代码:
//这里根据audioURL下载音频 ... WWW 数据 = 新 WWW(audioURL);收益率返回数据; AudioClip 下载Clip = data.GetAudioClipCompressed(false, AudioType.OGGVORBIS) as AudioClip; 如果(下载剪辑!= null) { _audio.clip = 下载的剪辑; } ...
public void PlayAudio() {
// Here clip is play
if (_audio.clip != null && _audio.isPlaying == false)
_audio.Play();
else
Debug.Log("Background music not present!");
_audio.loop = true;
}
To download clip i've used also (instead first code part):
using (UnityWebRequest www2 = UnityWebRequestMultimedia.GetAudioClip(audioURL, AudioType.OGGVORBIS))
{
yield return www2.SendWebRequest();
if (www2.isHttpError)
{
Debug.Log(www2.error);
LogAdd(www.error, true);
}
else
{
AudioClip downloadedClip = DownloadHandlerAudioClip.GetContent(www2);
_audio.clip = downloadedClip;
}
}
由于某种原因,无法播放 webgl 中的音频。
编辑 1:上传 MP3 时,错误(也在编辑器中)是:
不支持在此平台上流式传输“mpeg” UnityEngine.Networking.DownloadHandlerAudioClip:GetContent(UnityWebRequest)
【问题讨论】:
-
从错误来看,我猜你的文件实际上不是 mp3 或 ogg,而是 mpeg 文件格式。我不确定 why webgl 不支持流式 mpeg 文件,但根据该错误判断,您将无法正常工作。您是否尝试过使用您绝对确定是 MP3 或 OGG 的不同音频文件?我建议只从 Audacity 之类的文件中导出文件,以确保您确实使用了您期望的文件格式。
-
我已经尝试转换为 mp3 来确定,但没有成功!
标签: c# unity3d unity-webgl