Improve documentation
This commit is contained in:
parent
af679100ea
commit
836d823179
54
README.md
54
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
|
||||
|
|
Loading…
Reference in New Issue