diff --git a/CHANGELOG.md b/CHANGELOG.md index a207e81..b669d20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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. diff --git a/README.md b/README.md index 63639ca..ea67a5e 100644 --- a/README.md +++ b/README.md @@ -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(); ``` diff --git a/lib/just_audio.dart b/lib/just_audio.dart index e516351..936ac23 100644 --- a/lib/just_audio.dart +++ b/lib/just_audio.dart @@ -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 _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 setFilePath(final String filePath) => setUrl('file://$filePath'); + Future setFilePath(final String filePath) => + setUrl('file://$filePath'); /// Loads audio media from an asset and returns the duration of that audio. Future 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 get _cacheFile async => File(p.join((await getTemporaryDirectory()).path, 'just_audio_asset_cache', '$_id')); + Future 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; diff --git a/pubspec.yaml b/pubspec.yaml index ea52623..32f3ce7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -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 homepage: https://github.com/ryanheise/just_audio