我需要从URL下载音频(OGG,MP3或WAV)并播放。
在Editor中工作正常,也可以独立构建。
但不是在WebGL构建中。.我遇到任何错误或(取决于格式):
不支持在此平台上流式传输“ mpeg” UnityEngine.Networking.DownloadHandlerAudioClip:GetContent(UnityWebRequest)
我的代码:
//这里音频是根据audioURL下载的 ... WWW数据=新的WWW(audioURL);收益率数据; AudioClip downloadClip = data.GetAudioClipCompressed(false,AudioType.OGGVORBIS)作为AudioClip; 如果(downloadedClip!= null) { _audio.clip = downloadedClip; } ...
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)
答案 0 :(得分:1)
Unity文件提到音频格式应由浏览器本地支持,您可以从此链接检查支持状态:
https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats
或者只是使用音频标签来检查文件。
正如我之前测试的,ogg适合chrome和firefox,而mp3适合safari
答案 1 :(得分:0)
我解决了升级到2018.4的问题。
现在它可以在MP3上正常使用。
答案 2 :(得分:0)
“ Mp3”是MPEG-3的缩写;实际上,如果您查看Unity的AudioTypes,它会将MPEG AudioType明确定义为“ MP2 / MP3 MPEG”。
所以基本上:尝试使用非mp3文件。