gpt4 book ai didi

android - 以时间格式从 videoview 获取当前位置

转载 作者:行者123 更新时间:2023-12-04 23:16:39 25 4
gpt4 key购买 nike

我正在编写一个应用程序来使用 FFMPEG 在 android 中修剪视频.我需要将值提供给 FFMPEG时间单位,如 00:00:10 .目前我有一个 videoview和两个 buttons .第一个按钮是startTime第二个按钮是endTime .每当单击按钮时,我都会使用 getCurrentPosition获取视频的当前位置。我还有一个 MediaController附在我的videoview .

现在我面临的问题是我得到 int我无法传递给 FFMPEG 的当前位置的值如何准确地将其转换为以时间为单位的值,以便将其传递给 FFMPEG修剪视频。我已经给出了下面的代码供您引用。除了这个,还有其他方法可以获取当前时间。提前致谢。

        tVideoView = (VideoView) findViewById(R.id.tVideoView);
startBtn = (Button) findViewById(R.id.tStartBtn);
endBtn = (Button) findViewById(R.id.tEndBtn);
trimBtn = (Button) findViewById(R.id.trimBtn);

tVideoView.setVideoPath(videoPath);
duration = tVideoView.getDuration();
mMedia = new MediaController(this);

mMedia.setMediaPlayer(tVideoView);
mMedia.setAnchorView(tVideoView);
tVideoView.setMediaController(mMedia);

startBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startTime = tVideoView.getCurrentPosition();
startBtn.setText(String.valueOf(startTime));
}
});

endBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
endTime = tVideoView.getCurrentPosition();
endBtn.setText(String.valueOf(endTime));
}
});

最佳答案

将毫秒转换为时间格式的函数

String getVideoTime(long ms)
{
ms/=1000;
return (ms/3600)+":"+((ms%3600)/60)+":"+((ms%3600)%60);
}

并在您的可运行文件或计时器中调用它来更新 UI
String tm = getVideoTime(
videoView.getCurrentPosition()) +
" / " +
getVideoTimeFormat(videoView.getCurrentPosition()
);
tvVideoTime.setText(tm);

关于android - 以时间格式从 videoview 获取当前位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30634259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com