gpt4 book ai didi

c# - MP3 字节数组 - 转换为 WAV 并导航到时间索引?

转载 作者:行者123 更新时间:2023-11-30 13:11:39 25 4
gpt4 key购买 nike

我有一个包含 MP3 流的字节数组。

如果我希望能够转换为 WAV,假设必须进一步解码此流是否正确?

在其当前字节状态下,是否可以执行基本功能,例如获取/设置位置(按时间)?

最佳答案

是的,MP3 文件与 WAV 文件有很大不同。 WAV 文件包含样本形式的原始音频数据,从头到尾绘制输出波形,位图文件包含从左到右、从上到下的像素原始数据的方式相同。您可以将 WAV 文件视为声波的位图图片——但它存储的不是像素颜色,而是音频强度,通常每秒 44,100 个音频强度,如果是立体声,则为两个 channel ,每个 channel 2 个字节。

(知道这一点,您实际上可以计算出 WAV 文件的文件大小——要存储 1 分钟的音频,您需要 60 秒 * 44100 个样本 * 2 个 channel * 2 个字节 = 10.09MB。)

MP3 文件包含此图像的数学修改版本,并丢弃人类听不到的音频。它的工作原理类似于 jpeg 图像压缩图像的方式。

正如视频卡最终需要位图来处理一样,声卡最终也需要 WAV 数据来处理——所以是的,您需要一个解码器。

Mp3 文件的开头是一个称为 ID3 标签的数据 block ,其中包含有关该文件的一系列基本信息——艺术家姓名、轨道长度、专辑名称等。你可以使用类似 C# ID3 的东西在 C# 中读/写 ID3 标签。

至于音频本身,我不确定是否有完全用 C# 编写的 Mp3 解码器。从技术上讲,没有理由不能完成(它也应该是很好的性能),但是标准非常宽松并且数学很复杂,所以人们倾向于只使用 FFMpeg 之类的东西来解码。这里面的一些想法 Google search .

如果不需要做任何特殊处理,只想播放音频,可以使用WPF/Silverlight Media元素。

您可能会从 Josh Smith's Podder 中得到一些提示应用程序。

关于c# - MP3 字节数组 - 转换为 WAV 并导航到时间索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3432860/

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