Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.1.0

audio_visualizer

Um pacote Flutter para visualizar de forma transparente áudio de arquivos, recursos, fluxos HTTP, entrada do microfone e dados brutos PCM16.

AndroidiOS
Downloads em 30 dias
561
Curtidas
77
Pontos Pub
130

Instalar pacote

flutter pub add audio_visualizer

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um pacote Flutter que permite visualização em tempo real de áudio a partir de várias fontes, incluindo arquivos, recursos, fluxos HTTP, entrada do microfone e dados brutos PCM16. Oferece uma integração suave com o pipeline de renderização do Flutter, permitindo que desenvolvedores criem ondas sonoras dinâmicas, analisadores de espectro e efeitos visuais personalizados. Projetado para simplicidade e desempenho, suporta plataformas Android e iOS. Ideal para players de música, aplicativos de áudio ao vivo e experiências interativas com áudio.

Casos de uso

  • exibição de onda do player de música
  • visualização de microfone ao vivo
  • Análise de áudio em aplicativos educacionais
  • instalações artísticas interativas
  • sistemas de feedback de áudio em tempo real

Principais recursos

  • Suporta vários tipos de entrada de áudio
  • Renderização de visualização em tempo real
  • Multiplataforma (Android e iOS)
  • Estilos visuais personalizáveis
  • Processamento eficiente de dados PCM16

Indicado para

  • desenvolvedores de aplicativos de áudio
  • Designers de UI do Flutter
  • Criadores de software educacional
  • Projetos de mídia interativa

Considerações

  • Requer permissão de áudio no Android e no iOS
  • O desempenho pode variar em dispositivos de baixa potência
  • Limitado a visualizações básicas sem efeitos avançados

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

🎵 Audio Visualizer

A Flutter package for seamlessly visualizing audio from files, assets, HTTP streams, microphone input, and raw PCM16 data.

Explore all usage examples in the example directory.

Demo App 1 Demo App 2


✨ Features

Feature Android iOS macOS
Visualize File ✅ ✅ ✅
Visualize Asset ✅ ✅ ✅
Visualize HTTP ✅ ✅ ✅
Visualize Microphone ✅ ✅ ✅
Visualize Raw PCM16 ✅ ✅ ✅

📦 Components Overview

This package provides three major components:

  1. VisualizerPlayer
    For visualizing audio from files, assets, and HTTP streams.

  2. PCMVisualizer
    For visualizing raw PCM16 data from custom sources.


🚀 Visualizer Styles and Bands

Pre-built Visualizer Styles

Elevate your app's aesthetic with four stunning, ready-to-use visualizer widgets:

  • BarVisualizer
  • CircleVisualizer
  • LineVisualizer
  • MultiWaveVisualizer
  • RainbowBlockVisualizer
Band Types

Choose from six band types to suit your visualization needs:

  • fourBand
  • fourBandVisual
  • eightBand
  • tenBand
  • twentySixBand
  • thirtyOneBand

🎧 How to Use

Visualizing an Audio File

Load audio using the appropriate prefix:

  • Assets: asset://path_to_asset
  • Files: file://path_to_file
  • HTTP: http://url or https://url

Example:

// Initialize VisualizerPlayer
final audioPlayer = VisualizerPlayer();
await audioPlayer.initialize();
await audioPlayer.setDataSource("asset://assets/sample.mp3");
await audioPlayer.play();

// Visualize with BarVisualizer
ListenableBuilder(
   listenable: audioPlayer,
   builder: (context, child) {
      return BarVisualizer(
         input: audioPlayer.value.waveform,
         backgroundColor: Colors.black,
         color: Colors.greenAccent,
         gap: 2,
      );
   },
),

// Dispose VisualizerPlayer
audioPlayer.dispose();

Visualizing Microphone Input

This package does not directly handle microphone input. You can use the record package to capture audio and feed it into the visualizer.

Example:

// Initialize PCMVisualizer
final pcmVisualizer = PCMVisualizer();
pcmVisualizer.feed(rawPCM16Data);

// Visualize with BarVisualizer
ListenableBuilder(
   listenable: pcmVisualizer,
   builder: (context, child) {
      return BarVisualizer(
         input: pcmVisualizer.value.waveform,
         backgroundColor: Colors.black,
         color: Colors.greenAccent,
         gap: 2,
      );
   },
),

// Dispose PCMVisualizer
pcmVisualizer.dispose();

⚙️ Permissions

On Android, the following permission is required to visualize audio:

<uses-permission android:name="android.permission.RECORD_AUDIO" />

🙏 Acknowledgements

This project is inspired by and leverages ideas and code from the following:


Categorias

Dependências

Lista de dependências 1 itens

  • plugin_platform_interface^2.0.2

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.