From 836d823179675b204a24ebda2ca52fde38519d27 Mon Sep 17 00:00:00 2001 From: Ryan Heise Date: Thu, 2 Jan 2020 00:49:21 +1100 Subject: [PATCH] Improve documentation --- README.md | 54 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 280dd29..f995f8f 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,58 @@ # just_audio -A Flutter plugin to play audio from streams, files and assets. This plugin can be used with [audio_service](https://pub.dev/packages/audio_service) to play audio in the background for music players and podcast apps. +A Flutter plugin to play audio from URLs, files, assets and DASH/HLS streams. This plugin can be used with [audio_service](https://pub.dev/packages/audio_service) to play audio in the background and control playback from the lock screen, Android notifications, the iOS Control Center, and headset buttons. ## Features -* Plays audio from streams, files and assets. -* Broadcasts state changes helpful in streaming apps such as `buffering` and `connecting` in addition to the typical `playing`, `paused` and `stopped` states. -* Control audio playback via standard operations: play, pause, stop, setVolume, setSpeed, seek. -* Compatible with [audio_service](https://pub.dev/packages/audio_service) to support full background playback, queue management, and controlling playback from the lock screen, notifications and headset buttons. +| Feature | Android | iOS | +| ------- | :-------: | :-----: | +| read from URL | ✅ | ✅ | +| read from file | ✅ | (untested) | +| read from asset | ✅ | (untested) | +| DASH | ✅ | (untested) | +| HLS | ✅ | (untested) | +| play/pause/stop/seek | ✅ | ✅ | +| set volume | ✅ | (untested) | +| set speed | ✅ | (untested) | +| custom actions | ✅ | (untested) | +| clip audio | ✅ | | +| dispose | ✅ | ✅ | This plugin has been tested on Android, and is being made available for testing on iOS. Please consider reporting any bugs you encounter [here](https://github.com/ryanheise/just_audio/issues) or submitting pull requests [here](https://github.com/ryanheise/just_audio/pulls). ## Example +Initialisation: + ```dart final player = AudioPlayer(); -await player.setUrl('https://foo.com/bar.mp3'); -player.play(); -player.pause(); +var duration = await player.setUrl('https://foo.com/bar.mp3'); +``` + +Standard controls: + +```dart player.play(); +await player.seek(Duration(seconds: 10)); +await player.pause(); await player.stop(); +``` + +Clipping audio: + +```dart await player.setClip(start: Duration(seconds: 10), end: Duration(seconds: 20)); -await player.play(); -await player.setUrl('https://foo.com/baz.mp3'); -await player.seek(Duration(minutes: 5)); -player.play(); -await player.stop(); +await player.play(); // Waits for playback to finish +``` + +Release resources: + +```dart await player.dispose(); ``` + +## Todo + +* FLAC support +* Web support +* Gapless playback