如何将 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 (将#修改为@)