gpt4 book ai didi

c# - 如何将存储的MP3文件数据(byte [])转换为float [] Unity可以用作AudioSource-Data?

转载 作者:行者123 更新时间:2023-12-03 01:38:46 25 4
gpt4 key购买 nike

在过去的几天里,我进行了大量研究,但没有任何事情可以解决我的特殊问题。我正在为Unity3d游戏编写自己的音乐引擎,为此,我创建了包含mp3数据和其他信息的自定义文件。

我现在想要做的是获取这些分割的mp3字节数组(当我单独存储它们时可以播放它们,我对其进行了测试-因此音频数据似乎还可以)并将它们转换为Unity的AudioSource( s)不知何故。我认为将byte []转换为包含我的音频所需样本数据的float []就足够了,因为audioClip.setData( ... );应该可以解决问题(我希望如此)。

但是我一直无法解压缩和/或将我的mp3缓冲区[]转换为float []之类的东西-即使我以某种方式成功了,我唯一听到的还是讨厌的白噪声般的废话。

有任何想法吗?我希望收到您的来信,并解决这个问题!

最佳答案

实现一个将压缩的MP3流作为未压缩数据输出并将其输出的解压缩算法并非易事。您可以找到执行此操作的库(我不知道有任何库),或者以某种方式解决此问题。
您可以使用untiy引擎通过AudioSource解压缩(aka播放),然后对其进行采样,或者执行一些FFMPEG命令行来获取wav。多数方法都很麻烦,理想情况下,您应该找到一种根本不这样做的方法。

在这里,byte []或float []并不是什么大不了的区别-区别是编码还是原始

关于c# - 如何将存储的MP3文件数据(byte [])转换为float [] Unity可以用作AudioSource-Data?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49262230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com