
[英]My AudioClip[] won't work in my PlayClipAtPoint function, how else could I play a random sound when this object gets hit?
[英]AudioClip to file won't play properly
我正在尝试通过 UnityWebRequest 发送 AudioClips(目前不重要),我发现这样做的方法是将 AudioClips 转换为 byte[] 并将其作为原始音频文件发送。 但是这个音频文件似乎不能正常工作。 当我尝试将原始音频直接保存到我的计算机并在 Audacity 中播放时,它听起来非常嘈杂和损坏。 当我对着麦克风说话时,在 Audacity 中播放 static 时,我的声音几乎听不见。
这是我目前正在做的将我的 AudioClip 写入文件的方法:
float[] samples = new float[audioClip.samples * audioClip.channels];
audioClip.GetData(samples, 0);
byte[] byteArray = new byte[samples.Length * 4];
Buffer.BlockCopy(samples, 0, byteArray, 0, byteArray.Length);
File.WriteAllBytes("myAudio/audio.raw", byteArray);
在 Unity 中播放它效果很好(无论是播放原始 AudioClip 还是将其从字节转换回)。 我怎样才能让文件正确播放。 在 Audacity 中是否有特定的解码方法? 字节是否不对应于原始音频文件并且必须以某种方式转换它们?
Audacity 中的配置实际上并不简单。 我花了一些时间反复试验,但当我将它导入为 32 位浮点、小端、1 通道和 44100Hz 时,它最终可以正确播放。
感谢 Ron Beyer,他还建议了自定义 Audacity 导入配置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.