微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 UInt16 转换为 wav?

如何解决如何将 UInt16 转换为 wav?

目前,我的资产中有两个 txt 文件一个包含 UInt8 格式的数据,另一个包含 UInt16 格式的数据。它们都是同一个wav文件。我需要从 UInt16 文件创建一个 wav 文件,UInt8 文件仅供参考。

来自 Uint8 文件的 Wav 文件

我正在使用下面的代码创建一个 wav 文件。有用。但这不是我需要的。

var bytes = await rootBundle.loadString('assets/wav/audio_01_Uint8.txt');
List<int> bytesListString = await (bytes.split(','));
for (String s in bytesListString) {
  bytesListInt.add(int.parse(s));
}
Uint8List bytesUInt8 = Uint8List.fromList(bytesListInt);
await File(tempPath + '/audio_01_Uint8.wav')
      .writeAsBytes(bytesUInt8);

来自 Uint16 文件的 Wav 文件

我使用与 UInt16 文件相同的过程,但这不会创建可播放的波形文件。它说文件是空的。

var bytes = await rootBundle.loadString('assets/wav/audio_01_Uint16.txt');
List<int> bytesListString = await (bytes.split(','));
for (String s in bytesListString) {
  bytesListInt.add(int.parse(s));
}
Uint16List bytesUInt16 = Uint16List.fromList(bytesListInt);
await File(tempPath + '/audio_01_Uint16.wav')
      .writeAsBytes(bytesUInt16);

稍后,我将在 UInt16 中接收数据,因此无法使用 UInt8 创建文件。那么,如何从 UInt16 数据创建 wav 文件

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。