- 浏览: 261300 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (303)
- c (31)
- c++ (16)
- java (18)
- c# (1)
- python (3)
- java web (6)
- oracle (7)
- sqlserver (2)
- mysql (2)
- android (24)
- android系统 (15)
- android多媒体部分 (15)
- android游戏 (12)
- linux (26)
- javaScript (1)
- ajax (1)
- node JS (2)
- html (5)
- apache (3)
- jboss (1)
- weblogic (0)
- 通信协议 (10)
- 云计算 (1)
- 分布式 (5)
- ejb (1)
- webservice (5)
- 设计模式 (16)
- JNI (6)
- swing (13)
- 版本控制 (1)
- UML (1)
- xml (4)
- spring (5)
- hibernate (5)
- struts1 (3)
- struts2 (4)
- ibatis (0)
- tomcat (2)
- 心得体会 (1)
- css (1)
- 嵌入式 (41)
- arm体系结构 (10)
/**
* mediaStore检索视频
*
* @time 下午05:15:41
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class VideoGalleyActivity extends Activity implements OnClickListener, OnItemClickListener {
private ListView listView;
private Cursor cursor;
/**
* 视频文件信息
*/
class VideoViewInfo {
String filePath;
String mimeType;
String thumbPath;
String title;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.video_gallery);
findView();
init();
getVideo();
}
/**
* 初始化方法
*/
private void init() {
}
/**
* 实例化控件
*/
private void findView() {
listView = (ListView) this.findViewById(R.id.listView);
listView.setOnItemClickListener(this);
}
@Override
public void onClick(View v) {
}
/**
* mediaStore检索视频
*/
private void getVideo() {
String[] mediaColumns = { MediaStore.Video.Media._ID,//
MediaStore.Video.Media.DATA,//
MediaStore.Video.Media.TITLE,//
MediaStore.Video.Media.MIME_TYPE };
String[] thumbColumns = { MediaStore.Video.Thumbnails.DATA,//
MediaStore.Video.Thumbnails.VIDEO_ID //
};
cursor = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, mediaColumns, null, null, null);
ArrayList<VideoViewInfo> viewInfos = new ArrayList<VideoGalleyActivity.VideoViewInfo>();
if (cursor.moveToFirst()) {
do {
VideoViewInfo info = new VideoViewInfo();
// 获取缩略图
int id = cursor.getInt(cursor.getColumnIndex(MediaStore.Video.Media._ID));
String selection = MediaStore.Video.Thumbnails.VIDEO_ID + "=?";
String[] selectionArgs = new String[] { id + "" };
Cursor thumbCursor = this.managedQuery(MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI, thumbColumns, selection, selectionArgs, null);
if (thumbCursor.moveToFirst()) {
info.thumbPath = thumbCursor.getString(thumbCursor.getColumnIndex(MediaStore.Video.Thumbnails.DATA));
}
info.filePath = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.DATA));
info.title = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.TITLE));
info.mimeType = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.MIME_TYPE));
viewInfos.add(info);
} while (cursor.moveToNext());
}
listView.setAdapter(new VideoGalleryAdapter(VideoGalleyActivity.this, viewInfos));
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (cursor.moveToPosition(position)) {
int fileColum = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA);
int mimeColum = cursor.getColumnIndex(MediaStore.Video.Media.MIME_TYPE);
String videoFilePath = cursor.getString(fileColum);
String mimeType = cursor.getString(mimeColum);
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
File file = new File(videoFilePath);
intent.setDataAndType(Uri.fromFile(file), mimeType);
startActivity(intent);
}
}
/*****************************************/
/**
*
*/
class VideoGalleryAdapter extends BaseAdapter {
private List<VideoViewInfo> items;
LayoutInflater inflater;
/**
* 构造器
*/
public VideoGalleryAdapter(Context context, ArrayList<VideoViewInfo> viewInfos) {
this.items = viewInfos;
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return items.size();
}
@Override
public Object getItem(int position) {
return items.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (null == convertView) {
convertView = inflater.inflate(R.layout.list_item, null);
holder = new ViewHolder();
holder.imageView = (ImageView) convertView.findViewById(R.id.img_thumb);
holder.textView = (TextView) convertView.findViewById(R.id.txt_info);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
String tmpStr = items.get(position).thumbPath;
if (null != tmpStr) {
holder.imageView.setImageURI(Uri.parse(tmpStr));
}
holder.textView.setText(items.get(position).title);
return convertView;
}
class ViewHolder {
ImageView imageView;
TextView textView;
}
}
}
发表评论
-
android多媒体学习笔记一
2012-09-04 10:47 7281 使用内置的camera应用程序捕获图像 /*** ... -
android多媒体学习笔记二
2012-09-04 10:53 815实现SurfaceHolder.Callback ,P ... -
android多媒体学习笔记三___图像合成
2012-09-05 11:36 627/** * 图像合成 * * @time 下午06:21 ... -
android多媒体部分学习笔记四___ Matrix
2012-09-05 11:40 730/*** 图像的缩放和旋转 Matrix** 1 0 0 x= ... -
android多媒体部分学习笔记五----audio
2012-09-08 16:08 721/*** 打开内置音乐播放器*/private void ge ... -
android多媒体部分学习笔记六----音频录制 mediaRecorder
2012-09-08 16:12 687/** * * 使用意图捕获音频 * * @time ... -
android多媒体部分学习笔记七------音频录制 mediaRecorder
2012-09-08 16:13 765/** * 自定义捕获音频 * * @time 下午12 ... -
android多媒体部分学习笔记八------音频录制 mediaRecorder
2012-09-08 16:14 779/** * 原始音频的播放和录制 * * audio ... -
android 多媒体部分学习笔记九----数字音频合成
2012-09-09 12:43 875/** * 数字音频合成 * * @time 下午12: ... -
android 多媒体部分学习笔记十 可视化频率(频谱)
2012-09-09 23:43 3239/** * 可视化频率 * * @time 下午12 ... -
android 多媒体部分学习笔记十--简单视频播放
2012-09-10 17:53 775/** * 简单播放 * * @time 下午05:15 ... -
android 多媒体部分学习笔记十二----mediaplay自定义播放器
2012-09-10 22:31 1705/** * * 自定义播放器 * * @time 下午 ... -
android 多媒体部分学习十四---网络视频播放(http/rtsp)
2012-09-12 14:36 1847/** * 网络视频播放 * * openCore * ... -
android 多媒体部分学习笔记十五-----视频录制
2012-09-12 15:02 779/** * 调用系统视频录制 * * @time 下午0 ...
相关推荐
在Android开发中,MediaStore是系统提供的一种接口,用于访问设备上的多媒体数据,包括图片、音频和视频。本文将深入探讨如何使用MediaStore检索SD卡上的视频,并展示在ListView中,以及实现点击列表项后播放视频的...
认识 Android 多媒体数据库 MediaStore MediaStore 是 Android 系统提供的一个多媒体数据库, android 中多媒体信息都可以从这里提取。MediaStore 包括了多媒体数据库的所有信息,包括音频、视频和图像。android 把...
《PyPI上的mypy-boto3-mediastore-data库详解》 在Python的世界里,PyPI(Python Package Index)是官方的软件仓库,提供了大量的第三方库,方便开发者下载和安装。今天我们要讨论的是其中的一个名为`mypy-boto3-...
《PyPI上的mypy-boto3-mediastore-data库详解》 在Python的世界里,PyPI(Python Package Index)是官方的第三方Python库仓库,它为开发者提供了丰富的资源和便利。今天我们要讨论的是PyPI上的一款名为mypy-boto3-...
在实际应用中,例如在构建视频流服务平台时,开发者可以利用mypy-boto3-mediastore-data库来高效地存储、分发和管理大量的媒体文件。类型注解不仅可以帮助在开发阶段发现潜在的类型错误,还可以作为代码文档,使团队...
标题 "PyPI 官网下载 | mypy-boto3-mediastore-data-1.11.8.0.tar.gz" 提供的信息是,这是一个在Python的包索引平台PyPI上发布的软件包,名为 `mypy-boto3-mediastore-data`,版本为1.11.8.0,其格式为tar.gz压缩...
在实际项目中,`mypy-boto3-mediastore-data`库可以广泛应用于媒体服务提供商、直播平台、视频点播系统等场景,通过AWS MediaStore服务实现大规模、高效率的媒体内容存储和分发。配合其他AWS服务如CloudFront、S3等...
标题中的"PyPI 官网下载 | aws-cdk.aws-mediastore-1.45.0.tar.gz"表明这是一个从Python Package Index (PyPI) 官方网站上下载的软件包,具体是`aws-cdk.aws-mediastore-1.45.0`的版本。PyPI是Python开发者发布和...
《Python库mypy-boto3-mediastore-data详解》 在Python的开发环境中,库是不可或缺的一部分,它们为开发者提供了丰富的功能,大大简化了编程工作。本文将深入探讨一个特定的Python库——mypy-boto3-mediastore-data...
mypy-boto3-mediastore-data库的核心功能在于提供了一组Python接口,这些接口使得开发者能够方便地执行如存储、检索和管理MediaStore中的数据对象等操作。通过使用这个库,开发者可以实现以下功能: 1. **创建和...
“boto3-mediastore-data”这部分则表明这个库专注于与AWS的MediaStore服务交互。MediaStore是一个高性能、低延迟的对象存储服务,用于流式媒体和实时数据分发。它特别适合用于在线视频流、直播、游戏流和其他需要...
在Android开发中,MediaStore是一个重要的内容提供者,它允许我们访问设备上的多媒体数据,如图片、音频和视频。本文将深入探讨如何使用MediaStore数据库来获取本地指定文件夹下的视频文件,并进行排序和删除操作。...
而mediastore-data是Boto3中的一个客户端,它用于与Amazon MediaStore交互,这是一个高性能、低延迟的对象存储服务,特别适合流式传输视频和图像等媒体内容。 Amazon MediaStore Data API允许开发者上传、下载、...
资源分类:Python库 所属语言:Python 资源全名:mypy-boto3-mediastore-data-1.16.31.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
标题中的“PyPI 官网下载 | mypy-boto3-mediastore-data-1.12.5.0.tar.gz”表明这是一个从Python Package Index(PyPI)上下载的软件包,名为“mypy-boto3-mediastore-data”,版本号为1.12.5.0,其格式是tar.gz,这...
本文将深入探讨aws-cdk.aws-mediastore-1.39.0这个Python库,它是AWS CDK的一部分,用于与MediaStore服务进行交互。 首先,了解AWS CDK是至关重要的。CDK是一个开源软件开发框架,允许开发人员使用熟悉的编程语言...
`mediastore-data`是boto3中的一个组件,专门用于处理AWS Elemental MediaStore服务,这是一个高性能、低延迟的内容存储服务,适合流媒体和在线视频应用。 标签中提到了"zookeeper",这是一款分布式协调服务,常...
《PyPI上的mypy-boto3-mediastore-1.14.57.0:Python库解析与应用》 PyPI(Python Package Index)是Python开发者们分享和获取Python软件包的主要平台,其中包含了丰富的开源库和工具。本文将深入探讨在PyPI上发布...
标题中的“PyPI 官网下载 | mypy-boto3-mediastore-1.14.41.0.tar.gz”表明这是一个从Python Package Index(PyPI)官方源下载的软件包,名为“mypy-boto3-mediastore”。PyPI是Python开发者发布和分享他们编写的...
**PyPI 官网下载 | aws-cdk.aws-mediastore-1.78.0.tar.gz** 在Python开发中,PyPI(Python Package Index)是官方的第三方Python软件包仓库,开发者可以在这里发布和下载各种Python库。"aws-cdk.aws-mediastore-...