我创建了一个图库视图,我想要显示视频(就像任何视频链接一样),我也是这样工作的
http://mihaifonoage.blogspot.com/2009/09/displaying-images-from-sd-card-in.html
但它没有显示。我花了一整天但没有结果。请帮帮我。
提前致谢。
答案 0 :(得分:4)
我得到了答案。
我需要创建每个视频缩略图并将其显示在图库中
Bitmap bm = ThumbnailUtils.createVideoThumbnail(path1.getPath()+"/"+filenames1[position], MediaStore.Images.Thumbnails.MINI_KIND);
然后每个视频在图库中显示为图像。
答案 1 :(得分:2)
我并不是我得到你需要的东西,但是如果你只是想在一个活动中打开一个视图,也许一个好的方法就是使用ACTION_VIEW
意图 - 本地方式来实现它。 / p>
public void startVideo(String videoAddress){
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(videoAddress), "video/3gpp"); // The Mime type can actually be determined from the file
activity.startActivity(intent);
}
但是,此意图会提示您的用户选择视频播放器。在我的大多数情况下,我发现使用VideoView标记更有用 - 只需全屏显示视频:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<VideoView
android:id="@+id/video_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center" />
</FrameLayout>
如果您希望能够在多个视频之间浏览,可以使用手势检测器实现新视频的加载:
GestureDetector gestureDetector = new GestureDetector(new MyGestureDetector() {
@Override
public void swipeRight() {
if (currentArticle > 0) {
currentArticle--;
loadPage();
}
}
@Override
public void swipeLeft() {
if (currentArticle == articleList.size()) {
return;
} else {
currentArticle++;
loadPage();
}
}
});
View.OnTouchListener gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
};
希望我的一些建议对您有用!
答案 2 :(得分:0)
要直接从GridView播放视频,您必须在以下功能中传递视频网址
public void playVideo(String url){
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://" + url), "video/*");
startActivity(intent);
}