glint_audio 0.10.0 copy "glint_audio: ^0.10.0" to clipboard
glint_audio: ^0.10.0 copied to clipboard

Dart FFI bindings for the glint MP3, AAC-LC, Opus, Ogg-Vorbis, WAV and resampling codec suite.

example/example.dart

import 'dart:io';
import 'dart:math';
import 'dart:typed_data';

import 'package:glint_audio/glint_audio.dart';

void main() {
  const sampleRate = 44100;
  const duration = 1; // seconds
  const frequency = 440.0;
  const numSamples = sampleRate * duration;

  // Generate a 440 Hz sine wave
  final pcm = Int16List(numSamples);
  for (var i = 0; i < numSamples; i++) {
    pcm[i] = (sin(2.0 * pi * frequency * i / sampleRate) * 30000).toInt();
  }

  // Encode to MP3
  final encoder =
      GlintEncoder(sampleRate: sampleRate, channels: 1, bitrate: 128);
  final mp3 = BytesBuilder();

  final frameSize = encoder.samplesPerFrame;
  for (var offset = 0; offset < numSamples; offset += frameSize) {
    final end = (offset + frameSize).clamp(0, numSamples);
    final chunk = Int16List.sublistView(pcm, offset, end);
    mp3.add(encoder.encode(chunk));
  }
  mp3.add(encoder.flush());
  encoder.dispose();

  // Write to file
  final output = File('output.mp3');
  output.writeAsBytesSync(mp3.toBytes());
  print('Wrote ${mp3.length} bytes to ${output.path}');
}
0
likes
160
points
176
downloads

Documentation

API reference

Publisher

verified publishercrispstro.be

Weekly Downloads

Dart FFI bindings for the glint MP3, AAC-LC, Opus, Ogg-Vorbis, WAV and resampling codec suite.

Homepage
Repository (GitHub)
View/report issues

Topics

#audio #mp3 #aac #opus #vorbis

License

MIT (license)

Dependencies

ffi

More

Packages that depend on glint_audio