mucke/lib/system/audio/audio_manager_contract.dart

26 lines
980 B
Dart
Raw Normal View History

2020-12-19 12:22:57 +01:00
import '../../domain/entities/loop_mode.dart';
2020-04-10 20:12:26 +02:00
import '../../domain/entities/playback_state.dart';
2020-08-25 16:23:52 +02:00
import '../../domain/entities/shuffle_mode.dart';
2020-04-06 22:33:26 +02:00
import '../models/song_model.dart';
abstract class AudioManager {
2020-04-10 20:12:26 +02:00
Stream<SongModel> get currentSongStream;
Stream<PlaybackState> get playbackStateStream;
2020-07-12 18:25:34 +02:00
Stream<List<SongModel>> get queueStream;
Stream<int> get queueIndexStream;
2020-04-11 20:23:02 +02:00
/// Current position in the song in milliseconds.
Stream<int> get currentPositionStream;
2020-08-24 16:43:22 +02:00
Stream<ShuffleMode> get shuffleModeStream;
2020-04-09 17:50:28 +02:00
2020-04-06 22:33:26 +02:00
Future<void> playSong(int index, List<SongModel> songList);
2020-04-10 20:12:26 +02:00
Future<void> play();
Future<void> pause();
2020-07-12 18:25:34 +02:00
Future<void> skipToNext();
Future<void> skipToPrevious();
2020-08-24 16:43:22 +02:00
Future<void> setShuffleMode(ShuffleMode shuffleMode);
2020-12-19 12:22:57 +01:00
Future<void> setLoopMode(LoopMode loopMode);
2020-08-25 16:23:52 +02:00
Future<void> shuffleAll();
2020-10-25 11:54:11 +01:00
Future<void> addToQueue(SongModel songModel);
Future<void> moveQueueItem(int oldIndex, int newIndex);
2020-12-08 20:54:41 +01:00
Future<void> removeQueueIndex(int index);
2020-04-06 22:33:26 +02:00
}