Android 如何在Xamarin中获取视频缩略图?

Android 如何在Xamarin中获取视频缩略图?,android,xamarin,xamarin.android,Android,Xamarin,Xamarin.android,以下代码从手机/sd卡上的本地图片获取图像缩略图: public Task<List<Album>> GetAllAlbumsAndPhotos(object activity) { Activity activ = activity as Activity; List<Album> albums = new List<Album>(); // which image propert

以下代码从手机/sd卡上的本地图片获取图像缩略图:

    public Task<List<Album>> GetAllAlbumsAndPhotos(object activity)
    {
        Activity activ = activity as Activity;
        List<Album> albums = new List<Album>();

        // which image properties are we querying
        String[] projection = new String[] 
        {   
            MediaStore.Images.Media.InterfaceConsts.BucketId,
            MediaStore.Images.Media.InterfaceConsts.BucketDisplayName,
            MediaStore.Images.Media.InterfaceConsts.DateTaken,
            MediaStore.Images.Media.InterfaceConsts.DateAdded,
            MediaStore.Images.Media.InterfaceConsts.Data
        };

        // Get the base URI for the People table in the Contacts content provider.
        AndroidNet.Uri images = MediaStore.Images.Media.ExternalContentUri;

        // Make the query.
        var cursor = activ.ContentResolver.Query(images,
                                                projection, // Which columns to return
                                                "",         // Which rows to return (all rows)
                                                null,       // Selection arguments (none)
                                                ""          // Ordering
                                                );

        if (cursor.MoveToFirst())
        {
            int bucketColumn = cursor.GetColumnIndex(MediaStore.Images.Media.InterfaceConsts.BucketDisplayName);
            int takenColumn = cursor.GetColumnIndex(MediaStore.Images.Media.InterfaceConsts.DateTaken);
            int addedColumn = cursor.GetColumnIndex(MediaStore.Images.Media.InterfaceConsts.DateAdded);
            int dataColumn = cursor.GetColumnIndex(MediaStore.Images.Media.InterfaceConsts.Data);

            do
            {
                .
                .
                .

            } while (cursor.MoveToNext());
        }

        return Task.FromResult(albums);
    }
公共任务GetAllAlbumsAndPhotos(对象活动)
{
活动activ=作为活动的活动;
列表相册=新列表();
//我们要查询哪些图像属性
字符串[]投影=新字符串[]
{   
MediaStore.Images.Media.InterfaceConsts.BucketId,
MediaStore.Images.Media.InterfaceConsts.BucketDisplayName,
MediaStore.Images.Media.InterfaceConsts.DateTake,
MediaStore.Images.Media.InterfaceConsts.DateAdd,
MediaStore.Images.Media.InterfaceConsts.Data
};
//获取联系人内容提供程序中人员表的基本URI。
AndroidNet.Uri images=MediaStore.images.Media.ExternalContentUri;
//进行查询。
var cursor=activ.ContentResolver.Query(图像,
投影,//返回哪些列
“”,//要返回的行(所有行)
null,//选择参数(无)
“”//订购
);
if(cursor.MoveToFirst())
{
int bucketColumn=cursor.GetColumnIndex(MediaStore.Images.Media.InterfaceConsts.BucketDisplayName);
int takenColumn=cursor.GetColumnIndex(MediaStore.Images.Media.InterfaceConsts.datetake);
int addedColumn=cursor.GetColumnIndex(MediaStore.Images.Media.InterfaceConsts.DateAdded);
int dataColumn=cursor.GetColumnIndex(MediaStore.Images.Media.InterfaceConsts.Data);
做
{
.
.
.
}while(cursor.MoveToNext());
}
返回任务.FromResult(相册);
}

如何包含视频缩略图?它可以用相同的代码来完成,还是必须独立于这段代码来完成?

看这很简单。谢谢你的回答,但是这个示例没有检索手机(或SD卡)上现有的视频文件,而是从硬编码字符串列表中显示它们。