28 lines
815 B
Markdown
28 lines
815 B
Markdown
|
```java
|
|||
|
// 给定视频的URL
|
|||
|
final String url = videoUrl;
|
|||
|
// 调用Android的MediaMetadataRetriever获取视频封面
|
|||
|
final MediaMetadataRetriever mmr = new MediaMetadataRetriever();
|
|||
|
new Thread(() -> {
|
|||
|
Map<String, String> headers = new HashMap<>() ;
|
|||
|
// 指定header和url
|
|||
|
mmr.setDataSource(url, headers);
|
|||
|
// 设置截取视频第10秒钟内容
|
|||
|
Long sec = 10L;
|
|||
|
// sec转us单位
|
|||
|
Long msec = sec * 1000L;
|
|||
|
Long us = msec * 1000L;
|
|||
|
|
|||
|
final Bitmap image = mmr.getFrameAtTime(us, MediaMetadataRetriever.OPTION_CLOSEST_SYNC);
|
|||
|
// 更新imageview显示图片
|
|||
|
runOnUiThread(() -> {
|
|||
|
ImageView tv = findViewById(R.id.imageView);
|
|||
|
tv.setImageBitmap(image);
|
|||
|
});
|
|||
|
// 释放mmr,断开连接
|
|||
|
mmr.release();
|
|||
|
}).start();
|
|||
|
```
|
|||
|
|
|||
|
HTTP视频请求Range的计算方法
|