后退、暂停和转发 GIF
Rewind, Pause and Forward GIFs
我目前使用Glide库播放GIF如下。
Glide.with(this).load(gifUrl).into(ImageView);
这很好用,但我希望用户可以选择倒回、暂停和转发 GIF。我在想 rewind/forward 10 秒的按钮和另一个暂停按钮。我将无法使用 mp4 视频,因此无法使用视频播放库,因为我使用的文件是 GIF。有什么方法可以让我在使用 Glide 的同时做到这一点,还是我必须使用另一个库?
非常感谢任何帮助。
您最好的选择可能是使用第三方库将您的 gif 转换为 mp4 视频,然后使用本机 android 函数来转发、暂停和倒回该 mp4。
我确定有一个 API 可以做到这一点,您只需要看看。也许试试看这里 https://android-arsenal.com/tag/193。转发和倒带gif会更难,所以你需要先转换。
如何创建 "forward 10 seconds" 按钮的示例。 seekForwardTime
将是 10,000 毫秒。
btnForward.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// get current song position
int currentPosition = mp.getCurrentPosition();
// check if seekForward time is lesser than song duration
if (currentPosition + seekForwardTime <= mp.getDuration()) {
// forward song
mp.seekTo(currentPosition + seekForwardTime);
} else {
// forward to end position
mp.seekTo(mp.getDuration());
}
return false;
}
});
我目前使用Glide库播放GIF如下。
Glide.with(this).load(gifUrl).into(ImageView);
这很好用,但我希望用户可以选择倒回、暂停和转发 GIF。我在想 rewind/forward 10 秒的按钮和另一个暂停按钮。我将无法使用 mp4 视频,因此无法使用视频播放库,因为我使用的文件是 GIF。有什么方法可以让我在使用 Glide 的同时做到这一点,还是我必须使用另一个库?
非常感谢任何帮助。
您最好的选择可能是使用第三方库将您的 gif 转换为 mp4 视频,然后使用本机 android 函数来转发、暂停和倒回该 mp4。
我确定有一个 API 可以做到这一点,您只需要看看。也许试试看这里 https://android-arsenal.com/tag/193。转发和倒带gif会更难,所以你需要先转换。
如何创建 "forward 10 seconds" 按钮的示例。 seekForwardTime
将是 10,000 毫秒。
btnForward.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// get current song position
int currentPosition = mp.getCurrentPosition();
// check if seekForward time is lesser than song duration
if (currentPosition + seekForwardTime <= mp.getDuration()) {
// forward song
mp.seekTo(currentPosition + seekForwardTime);
} else {
// forward to end position
mp.seekTo(mp.getDuration());
}
return false;
}
});