Move speed setting to play() & fix auto-play on Android api 27+
This commit is contained in:
parent
86d6de7796
commit
84a9626b08
1 changed files with 16 additions and 11 deletions
|
|
@ -34,20 +34,11 @@ actual class FMediaPlayer actual constructor(val filename: String, onFinished: (
|
|||
if (file.exists()) {
|
||||
val fis = FileInputStream(file)
|
||||
mediaPlayer?.setDataSource(fis.fd)
|
||||
mediaPlayer?.setOnPreparedListener { mp ->
|
||||
// Ici, le player est prêt sans avoir bloqué l'UI
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
|
||||
val params = mp.playbackParams ?: android.media.PlaybackParams()
|
||||
params.speed = 1.0f
|
||||
mp.playbackParams = params
|
||||
}
|
||||
mp.pause()
|
||||
}
|
||||
mediaPlayer?.prepareAsync()
|
||||
|
||||
mediaPlayer?.setOnCompletionListener {
|
||||
onFinished()
|
||||
}
|
||||
mediaPlayer?.prepareAsync()
|
||||
fis.close()
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
|
|
@ -57,7 +48,21 @@ actual class FMediaPlayer actual constructor(val filename: String, onFinished: (
|
|||
}
|
||||
|
||||
actual fun play() {
|
||||
mediaPlayer?.start()
|
||||
mediaPlayer?.let { mp ->
|
||||
if (!mp.isPlaying) {
|
||||
// Ici, le player est prêt sans avoir bloqué l'UI
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
|
||||
try {
|
||||
val params = mp.playbackParams ?: android.media.PlaybackParams()
|
||||
params.speed = 1.0f
|
||||
mp.playbackParams = params
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
mp.start()
|
||||
}
|
||||
}
|
||||
}
|
||||
actual fun pause() {
|
||||
mediaPlayer?.pause()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue