合成-REST_API Unity中无法使用返回的音频数据
Ta的回复 :nickms: 你好,我也没搞过具体的unity开发,在网上搜了一下,我个人感觉可以有两种方案吧, 一是通过动态获取clip,然后播放,代码如下: AudioSource.clip=getData.audio; AudioSource.Play(); 二是如您所说将mp3存储下来,再以处理本地音频文件的方式去播放mp3,网上也有类似代码示例。 AudioSource audioSource; AudioClip ac = Resources.Load("Audio/"+fileName) ; audioSource.clip = ac; audioSource.Play(); 以上只是个人拙见,希望有帮到你,谢谢 回复nickms:感谢回复! 第一种方案行不通,因为你们的二进制音频文件是MP3格式。 unity官方API原文 The data must be an audio clip in Ogg(Web/Standalones), MP3(phones), WAV, XM, IT, MOD or S3M format. The clip will be downloaded completely before it's ready to play. Use the overloaded GetAudioClip (bool threeD, bool stream) to stream the audio, instead of downloading the entire clip. PC版接收MP3格式的音频会报错,提示为不被支持的格式。要用这种方案只能转格式,将byte[]转成float[]。据说用josn可以转,但是完全不会。 第二种方案我的的确确存下来了,并且用播放器播放出来是正确的音频。奈何unity在运行中无法加载临时存下来的文件,因为unity文件没有更新。