Last updated:
0 purchases
on audio query
on_audio_query #
Flutter Plugin used to query audios/songs 🎶 infos [title, artist, album, etc..] from device storage.
Any problem? Issues
Any suggestion? Pull request
Topics: #
Installation
Platforms
Overview
Examples
Gif Examples
License
Platforms: #
Methods
Android
IOS
Web
querySongs
✔️
✔️
✔️
queryAlbums
✔️
✔️
✔️
queryArtists
✔️
✔️
✔️
queryPlaylists
✔️
✔️
❌
queryGenres
✔️
✔️
✔️
queryAudiosFrom
✔️
✔️
✔️
queryWithFilters
✔️
✔️
✔️
queryArtwork
✔️
✔️
✔️
createPlaylist
✔️
✔️
❌
removePlaylist
✔️
❌
❌
addToPlaylist
✔️
✔️
❌
removeFromPlaylist
✔️
❌
❌
renamePlaylist
✔️
❌
❌
moveItemTo
✔️
❌
❌
checkAndRequest
✔️
✔️
❌
permissionsRequest
✔️
✔️
❌
permissionsStatus
✔️
✔️
❌
queryDeviceInfo
✔️
✔️
✔️
scanMedia
✔️
❌
❌
✔️ -> Supported
❌ -> Not Supported
See all platforms methods support
Installation: #
Add the following code to your pubspec.yaml:
dependencies:
on_audio_query: ^2.9.0
copied to clipboard
Request Permission: #
Android:
To use this plugin add the following code to your AndroidManifest.xml
<manifest>
<!-- Android 12 or below -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<!-- Android 13 or greater -->
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>
</manifest>
copied to clipboard
IOS:
To use this plugin add the following code to your Info.plist
<dict>
<key>NSAppleMusicUsageDescription</key>
<string>$(PROJECT_NAME) requires access to media library</string>
</dict>
copied to clipboard
Some Features: #
Optional and Built-in storage READ and WRITE permission request
Get all audios/songs.
Get all albums and album-specific audios.
Get all artists and artist-specific audios.
Get all playlists and playlists-specific audios.
Get all genres and genres-specific audios.
Get all query methods with specific keys [Search].
Create/Delete/Rename playlists.
Add/Remove/Move specific audios to playlists.
Specific sort types for all query methods.
Overview: #
All types of methods on this plugin:
Artwork Widget #
Widget someOtherName() async {
return QueryArtworkWidget(
id: <audioId>,
type: ArtworkType.AUDIO,
);
}
copied to clipboard
See more: QueryArtworkWidget
Examples: #
OnAudioQuery
final OnAudioQuery _audioQuery = OnAudioQuery();
copied to clipboard
Query methods:
queryAudios();
queryAlbums();
queryArtists();
queryPlaylists();
queryGenres().
someName() async {
// Query Audios
List<AudioModel> audios = await _audioQuery.queryAudios();
// Query Albums
List<AlbumModel> albums = await _audioQuery.queryAlbums();
}
copied to clipboard
scanMedia
You'll use this method when updating a media from storage. This method will update the media 'state' and
Android MediaStore will be able to know this 'state'.
someName() async {
OnAudioQuery _audioQuery = OnAudioQuery();
File file = File('path');
try {
if (file.existsSync()) {
file.deleteSync();
_audioQuery.scanMedia(file.path); // Scan the media 'path'
}
} catch (e) {
debugPrint('$e');
}
}
copied to clipboard
queryArtwork
someName() async {
// DEFAULT: ArtworkFormat.JPEG, 200 and false
Uint8List something = await _audioQuery.queryArtwork(
<audioId>,
ArtworkType.AUDIO,
...,
);
}
copied to clipboard
Or you can use a basic and custom Widget.
See example QueryArtworkWidget
Gif Examples: #
Songs
Albums
Playlists
Artists
LICENSE: #
LICENSE
Back to top
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.