在Android中获取某人的任何类型的视频的缩略图,该视频只有该视频的URL链接,并且视频可以来自任何来源,例如YouTube或任何来源。请告诉我是否可能。这是我的java代码,我试图通过它获取youtube视频的缩略图。
public class MainActivity extends Activity {
String path = "http://www.youtube.com/watch?v=HMMEODhZUfA";
Bitmap bm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView image_View = (ImageView) findViewById(R.id.image);
bm = ThumbnailUtils.createVideoThumbnail(path,
MediaStore.Images.Thumbnails.MICRO_KIND);
image_View.setImageBitmap(bm);
}
and this is my xml..
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/hello_world" />
</LinearLayout>
我认为您不能通过仅将视频链接提供给缩略图管理器来生成视频的缩略图,
我可以建议的 2 种方法是
- 存储视频的服务器应存储视频,以便您可以直接下载缩略图图像
- 下载视频并从中获取缩略图。无论如何,这种方法是不对的。
如果您使用的是某些第三方服务器,例如YouTube或其他服务器,那么他们将具有视频缩略图的单独链接。
如果您的视频链接是服务器链接,请使用以下代码
要从URL获取缩略图,到目前为止我只有一个解决方案,你必须使用此库
它支持文件,http,https,mms,mmsh和rtmp协议支持AAC,ACC +,avi,flac,mp2,mp3,mp4,ogg,3GP等! 格式(音频和视频):
如果您想从YouTube获取缩略图,请考虑以下代码
缩略图(480x360 像素)http://i1.ytimg.com/vi/oB1CUxX1JJE/0.jpg
缩略图(120x90 像素)http://i1.ytimg.com/vi/oB1CUxX1JJE/1.jpg
缩略图(120x90 像素)http://i1.ytimg.com/vi/oB1CUxX1JJE/2.jpg
缩略图(120x90 像素)http://i1.ytimg.com/vi/oB1CUxX1JJE/3.jpg
缩略图(480x360 像素) http://i1.ytimg.com/vi/oB1CUxX1JJE/hqdefault.jpg
缩略图(320x180 像素) http://i1.ytimg.com/vi/oB1CUxX1JJE/mqdefault.jpg
缩略图(120x90 像素) http://i1.ytimg.com/vi/oB1CUxX1JJE/default.jpg
缩略图(640x480 像素) http://i1.ytimg.com/vi/oB1CUxX1JJE/sddefault.jpg
缩略图(1920x1080像素) http://i1.ytimg.com/vi/oB1CUxX1JJE/maxresdefault.jpg
> http://img.youtube.com/vi/VIDEO_ID/default.jpg
检查这个..
将VIDEO_ID替换为视频 ID,例如:http://img.youtube.com/vi/z99cgIIVuyo/default.jpg
定义服务器链接,
String path = "http://yourSeverLink/foldername/test.mp4";
然后拍摄一个图像视图,例如,
ImageView video_thumbnail;
Bitmap bm;
并在 onCreate 方法中定义。
video_thumbnail = (ImageView) findViewById(R.id.video_one);
现在要获取缩略图,请使用这个,
bm = ThumbnailUtils.createVideoThumbnail(path,
MediaStore.Images.Thumbnails.MICRO_KIND);
// For setting that thumnail to imageview use this below code
video_one.setImageBitmap(bm);