local_audio_scan 2.0.0
local_audio_scan: ^2.0.0 copied to clipboard
Android-only Flutter package for scanning local audio files with album art extraction.
local_audio_scan #
An Android-only Flutter package for scanning local audio files with album art extraction.
Installation #
Add local_audio_scan to your pubspec.yaml:
dependencies:
local_audio_scan: ^2.0.0
Then run flutter pub get.
Permissions Setup #
This plugin requires permissions to read audio files from the device's storage.
Android #
Add the following permissions to your android/app/src/main/AndroidManifest.xml file:
For Android 13 (API 33) and above:
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
For older versions (below Android 13):
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Basic Usage #
Here's a quick example of how to use the plugin:
import 'package:local_audio_scan/local_audio_scan.dart';
// First, request permissions
bool hasPermission = await LocalAudioScanner().requestPermission();
if (hasPermission) {
// Scan for audio tracks, filtering out junk audio
List<AudioTrack> tracks = await LocalAudioScanner().scanTracks(filterJunkAudio: true);
for (var track in tracks) {
print('Title: ${track.title}, Artist: ${track.artist}');
}
}
Example Output #
An AudioTrack object contains the following information:
AudioTrack({
id: '123',
title: 'Cool Song',
artist: 'Awesome Artist',
album: 'Greatest Hits',
duration: 240000, // in milliseconds
filePath: '/storage/emulated/0/Music/cool_song.mp3',
mimeType: 'audio/mpeg',
size: 5120000, // in bytes
dateAdded: 2023-10-27 10:00:00.000Z,
artwork: // Uint8List data for album art
});
Note #
This plugin only supports Android. Calling its methods on iOS will result in a MissingPluginException.