java - 将 SeekBar 连接到 MediaPlayer 不起作用

标签 java android android-mediaplayer seekbar

我一直在按照教程在我的应用程序中实现 SeekBar,但它不起作用。这是我正在尝试的方法。

public void run(){
    int currentPosition = 0;
    int total = player.getDuration();
    sBar.setMax(total);

    while (player.isPlaying()) {
        try {
            Thread.sleep(1000);
            currentPosition = player.getCurrentPosition();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        sBar.setProgress(currentPosition);
    }
}

sBar 是我声明为全局变量的 SeekBar

现在的问题是教程中没有提到在哪里调用这个 run 方法?我尝试在 MediaPlayer 启动后立即调用它,但它不起作用。

最佳答案

这显然意味着要放入 Thread 对象中 - 它是一个无限循环,一次 hibernate 一秒钟。它不能在 UI 线程上运行,否则会卡住您的应用程序。

关于java - 将 SeekBar 连接到 MediaPlayer 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18303701/

相关文章:

java - 显示另一个类的多个数组列表

java - 使用maven-spring-boot-plugin时将类路径添加到SpringBoot命令行启动

android - 如何将虚拟相机发送到 Ubuntu 中的 Genymotion 或 Android Studio Emulator?

java - Android Studio 找不到主类报错

android - MediaController 不在 ViewPager 中滑动

android - 如何控制从服务播放的音频音量?

java - 什么是 Java 中的三元组?

java - 在 .xml 中定义时,SharedPreferences 的 defaultValue 是否始终读取为字符串?

java - 每秒传递不同的图像 Fragment

android - 文件不从 Android 中的内部存储播放