Android 如何在Xamarin中获取视频缩略图?
以下代码从手机/sd卡上的本地图片获取图像缩略图: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
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卡)上现有的视频文件,而是从硬编码字符串列表中显示它们。