60 lines
1.3 KiB
Kotlin
60 lines
1.3 KiB
Kotlin
/*
|
|
* Copyright (c) 2019 Hemanth Savarala.
|
|
*
|
|
* Licensed under the GNU General Public License v3
|
|
*
|
|
* This is free software: you can redistribute it and/or modify it under
|
|
* the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation either version 3 of the License, or (at your option) any later version.
|
|
*
|
|
* This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
* See the GNU General Public License for more details.
|
|
*/
|
|
|
|
package code.name.monkey.retromusic.service.playback
|
|
|
|
|
|
interface Playback {
|
|
|
|
val isInitialized: Boolean
|
|
|
|
val isPlaying: Boolean
|
|
|
|
val audioSessionId: Int
|
|
|
|
fun setDataSource(path: String): Boolean
|
|
|
|
fun setNextDataSource(path: String?)
|
|
|
|
fun setCallbacks(callbacks: PlaybackCallbacks)
|
|
|
|
fun start(): Boolean
|
|
|
|
fun stop()
|
|
|
|
fun release()
|
|
|
|
fun pause(): Boolean
|
|
|
|
fun duration(): Int
|
|
|
|
fun position(): Int
|
|
|
|
fun seek(whereto: Int): Int
|
|
|
|
fun setVolume(vol: Float): Boolean
|
|
|
|
fun setAudioSessionId(sessionId: Int): Boolean
|
|
|
|
fun setCrossFadeDuration(duration: Int)
|
|
|
|
interface PlaybackCallbacks {
|
|
fun onTrackWentToNext()
|
|
|
|
fun onTrackEnded()
|
|
|
|
fun onTrackEndedWithCrossfade()
|
|
}
|
|
}
|