FLUTTER ECOSYSTEM

liamappelbe/wav

用于读取和写入 wav 文件的 Dart 包

wav 项目封面
Stars
20
Forks
7
最近推送(UTC)
2025年7月3日
项目状态
未归档
Liam Appelbe GitHub avatar
GITHUB User

Liam Appelbe ↗

语言Dart

此仓库发布的插件

使用的依赖

依赖清单 2 项
  • lints开发依赖^1.0.0
  • test开发依赖^1.20.2

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

展开 / 收起项目 README

wav

pub package Build Status Coverage Status

Simple tools for reading and writing WAV and raw audio files. Written in pure Dart, with no dependencies.

This package currently supports reading and writing 8/16/24/32 bit PCM, and 32/64 bit float formats. Other formats can be added as needed (just file a bug).

This package also supports WAVE_FORMAT_EXTENSIBLE, but only for reading. Extensible WAVs are essentially treated as ordinary WAV files, because wValidBitsPerSample and dwChannelMask are ignored. Please file a bug if you have a use case for either of these metadata fields, or for writing extensible WAV files.

Usage

// Read a WAV file.
final wav = await Wav.readFile(filename);

// Look at its metadata.
print(wav.format);
print(wav.samplesPerSecond);

// Mess with its audio data.
for (final chan in wav.channels) {
  for (int i = 0; i < chan.length; ++i) {
    chan[i] /= 2;  // Decrease the volume.
  }
}

// Write to another WAV file.
await wav.writeFile(otherFilename);