mucke/lib/system/datasources/audio_manager_contract.dart
2020-08-25 16:23:52 +02:00

22 lines
No EOL
768 B
Dart

import '../../domain/entities/playback_state.dart';
import '../../domain/entities/shuffle_mode.dart';
import '../models/song_model.dart';
abstract class AudioManager {
Stream<SongModel> get currentSongStream;
Stream<PlaybackState> get playbackStateStream;
Stream<List<SongModel>> get queueStream;
Stream get customEventStream;
Stream<int> get queueIndexStream;
/// Current position in the song in milliseconds.
Stream<int> get currentPositionStream;
Stream<ShuffleMode> get shuffleModeStream;
Future<void> playSong(int index, List<SongModel> songList);
Future<void> play();
Future<void> pause();
Future<void> skipToNext();
Future<void> skipToPrevious();
Future<void> setShuffleMode(ShuffleMode shuffleMode);
Future<void> shuffleAll();
}