From e4f77d841a2176e73a8fbabdce34c2da5346fad1 Mon Sep 17 00:00:00 2001 From: Malte Schmitz Date: Sat, 2 Sep 2017 15:21:30 +0200 Subject: [PATCH] Replace ObjectAnimator with real MediaPlayer position --- .../main/java/de/mlte/soundboard/MainActivity.kt | 32 ++++++++++++++++------ 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/de/mlte/soundboard/MainActivity.kt b/app/src/main/java/de/mlte/soundboard/MainActivity.kt index 4d0e62f..f0beba7 100644 --- a/app/src/main/java/de/mlte/soundboard/MainActivity.kt +++ b/app/src/main/java/de/mlte/soundboard/MainActivity.kt @@ -1,27 +1,43 @@ package de.mlte.soundboard import android.animation.ObjectAnimator +import android.media.MediaPlayer import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.widget.ProgressBar import android.widget.TextView +import java.util.* +import kotlin.concurrent.timerTask class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) + val mp = MediaPlayer.create(this, R.raw.tusch) val progressBar = findViewById(R.id.progress_bar) - val objectAnimator = ObjectAnimator.ofInt(progressBar, "progress", progressBar.getProgress(), 100).setDuration(2000) - val btn = findViewById(R.id.text_view_button) - objectAnimator.addUpdateListener({ valueAnimator -> - val progress = valueAnimator.animatedValue as Int - progressBar.progress = progress - }) + var timer = Timer() + + mp.setOnCompletionListener { + timer.cancel() + progressBar.progress = 0 + } + + val timerTask = timerTask { + runOnUiThread { + progressBar.progress = mp.currentPosition + println(mp.currentPosition) + } + } + val btn = findViewById(R.id.text_view_button) btn.setOnClickListener { - objectAnimator.start() + mp.start() + progressBar.max = mp.duration + timer.cancel() + timer = Timer() + timer.schedule(timerTask, 40, 40) } } -} +} \ No newline at end of file