2

我有一个用于播放视频的 VideoView 和一个 MediaControler

我想在 textview 中显示视频的时间并在每次视频时更改它

我使用此代码播放视频:

private void play(String uri) {
    _player.setVisibility(View.VISIBLE);
    _player.setVideoURI(Uri.parse(uri));
    MediaController mc = new MediaController(this);
    _player.setMediaController(mc);
    _player.start();

    Display display = getWindowManager().getDefaultDisplay();
    int width = display.getWidth();
    int height = display.getHeight();

    _player.setLayoutParams(new FrameLayout.LayoutParams(width, width));


}
4

4 回答 4

3

此方法用于将毫秒转换为时间,_player.getDuration() 用于准备。

    public String milliSecondsToTimer(long milliseconds) {
    String finalTimerString = "";
    String secondsString = "";

    // Convert total duration into time
    int hours = (int) (milliseconds / (1000 * 60 * 60));
    int minutes = (int) (milliseconds % (1000 * 60 * 60)) / (1000 * 60);
    int seconds = (int) ((milliseconds % (1000 * 60 * 60)) % (1000 * 60) / 1000);
    // Add hours if there
    if (hours > 0) {
        finalTimerString = hours + ":";
    }

    // Prepending 0 to seconds if it is one digit
    if (seconds < 10) {
        secondsString = "0" + seconds;
    } else {
        secondsString = "" + seconds;
    }

    finalTimerString = finalTimerString + minutes + ":" + secondsString;

    // return timer string
    return finalTimerString;
}
于 2013-04-24T12:26:48.490 回答
0

您必须在 layout xml 文件中添加一个 seekbar ,而不是实现 seekbar ,以获得视频播放使用的实时进度

    MediaPlayer.getCurrentPosition()

您必须编写一个可运行的方法来使用此方法每秒更新搜索栏:

    myseekbar.setProgress(myMediaPlayer.getCurrentPosition())

您必须从 getCurrentPosition 检索时间。

接受我的回答?

于 2013-04-22T16:59:23.747 回答
0

这是使用 "TimeUnit" 的另一种转换方法:

static String getTimeString(Long millis) {
   return String.format("%02d:%02d:%02d",
        TimeUnit.MILLISECONDS.toHours(millis),
        TimeUnit.MILLISECONDS.toMinutes(millis) -
        TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
        TimeUnit.MILLISECONDS.toSeconds(millis) -
        TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
}
于 2015-03-11T01:24:32.267 回答
0

你可以使用

    MediaPlayer.getDuration()

检索视频的总时间。您最好设置一个搜索栏来检索视频的进度并将其写入 textview 或更好地在计时器上。或者您可以在视频开始时简单地启动计时器。

于 2013-04-21T12:52:27.650 回答