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()) {
|
if (file.exists()) {
|
||||||
val fis = FileInputStream(file)
|
val fis = FileInputStream(file)
|
||||||
mediaPlayer?.setDataSource(fis.fd)
|
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 {
|
mediaPlayer?.setOnCompletionListener {
|
||||||
onFinished()
|
onFinished()
|
||||||
}
|
}
|
||||||
|
mediaPlayer?.prepareAsync()
|
||||||
fis.close()
|
fis.close()
|
||||||
}
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
|
@ -57,7 +48,21 @@ actual class FMediaPlayer actual constructor(val filename: String, onFinished: (
|
||||||
}
|
}
|
||||||
|
|
||||||
actual fun play() {
|
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() {
|
actual fun pause() {
|
||||||
mediaPlayer?.pause()
|
mediaPlayer?.pause()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue