Version 0.0.2
This commit is contained in:
parent
32f1b900ae
commit
a50daad9e1
|
@ -1,3 +1,7 @@
|
|||
## 0.0.2
|
||||
|
||||
* iOS implementation for testing (may not work).
|
||||
|
||||
## 0.0.1
|
||||
|
||||
* Initial release with Android implementation first.
|
||||
* Initial release with Android implementation.
|
||||
|
|
|
@ -9,20 +9,20 @@ A Flutter plugin to play audio from streams, files and assets. This plugin can b
|
|||
* Control audio playback via standard operations: play, pause, stop, setVolume, 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.
|
||||
|
||||
The initial release is for Android. The next priority is iOS.
|
||||
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
|
||||
|
||||
```dart
|
||||
final player = AudioPlayer();
|
||||
await player.setUrl('https://foo.com/bar.mp3');
|
||||
await player.play();
|
||||
player.play();
|
||||
await player.pause();
|
||||
await player.play(untilPosition: Duration(minutes: 1));
|
||||
await player.stop()
|
||||
await player.setUrl('https://foo.com/baz.mp3');
|
||||
await player.seek(Duration(minutes: 5));
|
||||
await player.play();
|
||||
player.play();
|
||||
await player.stop();
|
||||
await player.dispose();
|
||||
```
|
||||
|
|
|
@ -12,13 +12,13 @@ import 'package:rxdart/rxdart.dart';
|
|||
/// ```
|
||||
/// final player = AudioPlayer();
|
||||
/// await player.setUrl('https://foo.com/bar.mp3');
|
||||
/// await player.play();
|
||||
/// player.play();
|
||||
/// await player.pause();
|
||||
/// await player.play(untilPosition: Duration(minutes: 1));
|
||||
/// await player.stop()
|
||||
/// await player.setUrl('https://foo.com/baz.mp3');
|
||||
/// await player.seek(Duration(minutes: 5));
|
||||
/// await player.play();
|
||||
/// player.play();
|
||||
/// await player.stop();
|
||||
/// await player.dispose();
|
||||
/// ```
|
||||
|
@ -40,12 +40,11 @@ import 'package:rxdart/rxdart.dart';
|
|||
/// during normal playback when the next buffer is not ready to be played.
|
||||
/// * [AudioPlaybackState.connecting]: immediately after [setUrl],
|
||||
/// [setFilePath] and [setAsset] while waiting for the media to load.
|
||||
///
|
||||
///
|
||||
/// Additionally, after a [seek] request completes, the state will return to
|
||||
/// whatever state the player was in prior to the seek request.
|
||||
class AudioPlayer {
|
||||
static final _mainChannel =
|
||||
MethodChannel('com.ryanheise.just_audio.methods');
|
||||
static final _mainChannel = MethodChannel('com.ryanheise.just_audio.methods');
|
||||
|
||||
static Future<MethodChannel> _createChannel(int id) async {
|
||||
await _mainChannel.invokeMethod('init', '$id');
|
||||
|
@ -123,7 +122,8 @@ class AudioPlayer {
|
|||
}
|
||||
|
||||
/// Loads audio media from a file and returns the duration of that audio.
|
||||
Future<Duration> setFilePath(final String filePath) => setUrl('file://$filePath');
|
||||
Future<Duration> setFilePath(final String filePath) =>
|
||||
setUrl('file://$filePath');
|
||||
|
||||
/// Loads audio media from an asset and returns the duration of that audio.
|
||||
Future<Duration> setAsset(final String assetPath) async {
|
||||
|
@ -131,12 +131,13 @@ class AudioPlayer {
|
|||
if (!file.existsSync()) {
|
||||
await file.create(recursive: true);
|
||||
}
|
||||
await file.writeAsBytes(
|
||||
(await rootBundle.load(assetPath)).buffer.asUint8List());
|
||||
await file
|
||||
.writeAsBytes((await rootBundle.load(assetPath)).buffer.asUint8List());
|
||||
return await setFilePath(file.path);
|
||||
}
|
||||
|
||||
Future<File> get _cacheFile async => File(p.join((await getTemporaryDirectory()).path, 'just_audio_asset_cache', '$_id'));
|
||||
Future<File> get _cacheFile async => File(p.join(
|
||||
(await getTemporaryDirectory()).path, 'just_audio_asset_cache', '$_id'));
|
||||
|
||||
/// Plays the currently loaded media from the current position. It is legal
|
||||
/// to invoke this method only from one of the following states:
|
||||
|
@ -209,9 +210,11 @@ class AudioPlayer {
|
|||
class AudioPlayerState {
|
||||
/// The current playback state.
|
||||
final AudioPlaybackState state;
|
||||
|
||||
/// When the last time a position discontinuity happened, as measured in time
|
||||
/// since the epoch.
|
||||
final Duration updateTime;
|
||||
|
||||
/// The position at [updateTime].
|
||||
final Duration updatePosition;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
name: just_audio
|
||||
description: Flutter plugin to play audio from streams, files and assets. Works with audio_service to play audio in the background.
|
||||
version: 0.0.1
|
||||
version: 0.0.2
|
||||
author: Ryan Heise <ryan@ryanheise.com>
|
||||
homepage: https://github.com/ryanheise/just_audio
|
||||
|
||||
|
|
Loading…
Reference in New Issue