Version 0.0.2

This commit is contained in:
Ryan Heise 2019-12-01 02:52:54 +11:00
parent 32f1b900ae
commit a50daad9e1
4 changed files with 21 additions and 14 deletions

View File

@ -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.

View File

@ -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();
```

View File

@ -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;

View File

@ -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