показать время, когда песня играет в Android - PullRequest
6 голосов
/ 19 мая 2011

Я пытаюсь воспроизвести песню, используя MediaPlayer из указанного списка. Я хочу указать продолжительность времени от начала до конца песни. как добавить время и как обновить это время с 0:00 до конца этой песни

Ответы [ 3 ]

18 голосов
/ 19 мая 2011

Вы можете использовать метод getCurrentPosition(), который дает вам текущую позицию в миллисекундах.

Вы также можете использовать метод getDuration(), чтобы получить полную длину песни.

Вы можете использовать отдельный поток для обновления таймера.

10 голосов
/ 12 декабря 2013

Чтобы показать время воспроизведения, я использовал Таймер и TimerTask , который обновляет TextView tv каждые 1000 мс.Обратите внимание, что использование tv.post (Runnable action) для установки текста в текстовом представлении не блокирует поток пользовательского интерфейса и может вызвать проблемы.

if (player != null) {
    player.start();
    timer = new Timer();
    timer.scheduleAtFixedRate(new TimerTask() {
        @Override
        public void run() {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    if (player != null && player.isPlaying()) {
                        tv.post(new Runnable() {
                            @Override
                            public void run() {
                                tv.setText(player.getCurrentPosition());
                            }
                        });
                    } else {
                        timer.cancel();
                        timer.purge();
                    }
                }
            });
        }
    }, 0, 1000);
}
0 голосов
/ 19 мая 2011

Дайте этому решению шанс. Согласно сообщению, это работает только для Android 1.5, но это должно указать вам правильное направление. Проблема в том, что не существует документированного (насколько мне известно) способа получения информации о воспроизводимой в данный момент дорожке, хотя я на самом деле не использовал звуковую часть Android SDK, поскольку мои проекты требуют концентрации в другом месте.

...