如何在图库中显示视频?

时间:2012-01-31 13:29:09

标签: android gallery

我创建了一个图库视图,我想要显示视频(就像任何视频链接一样),我也是这样工作的

http://mihaifonoage.blogspot.com/2009/09/displaying-images-from-sd-card-in.html

但它没有显示。我花了一整天但没有结果。请帮帮我。

提前致谢。

3 个答案:

答案 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);
}