搜尋套件、儲存庫與 APP 分類

套件詳情v1.1.0

audio_visualizer

一個用於無縫可視化來自檔案、資源、HTTP 流、麥克風輸入和原始 PCM16 數據的音頻的 Flutter 套件。

AndroidiOS
近 30 天下載
561
喜歡數
77
Pub 分數
130

安裝套件

flutter pub add audio_visualizer

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

一個 Flutter 套件,可從各種來源(包括檔案、資源、HTTP 流、麥克風輸入和原始 PCM16 資料)實現即時音訊視覺化。它與 Flutter 的渲染流程無縫整合,讓開發者能夠建立動態音訊波形、頻譜分析儀和自訂視覺效果。設計簡潔且效能出色,支援 Android 和 iOS 平台。適用於音樂播放器、即時音訊應用和互動式音訊體驗。

適用情境

  • 音樂播放器波形顯示
  • 即時麥克風視覺化
  • 教育類應用程式中的音訊分析
  • 互動藝術裝置
  • 即時音訊反饋系統

主要特色

  • 支援多種音訊輸入類型
  • 即時可視化渲染
  • 跨平台(Android 與 iOS)
  • 可自定義的視覺樣式
  • 高效的PCM16數據處理

適合對象

  • 音頻應用開發者
  • Flutter UI 設計師
  • 教育軟體創作者
  • 互動媒體項目

使用建議

  • 需要 Android 和 iOS 的音頻權限
  • 效能可能在低階裝置上有所差異
  • 僅限基本視覺化,不支援進階效果

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

🎵 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:


所屬分類

依賴

依賴清單 1 項

  • plugin_platform_interface^2.0.2

原始碼儲存庫

使用此套件的專案

暫無相關資料。