Android 视频播放器截屏功能实现讲解
来源:互联网 发布:Mac梦幻西游 编辑:程序博客网 时间:2024/05/16 17:04
1.调用系统的照相机程序
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PHOTO_WITH_DATA);
2.在onActivityResult中处理返回的data
final Bitmap photo = data.getParcelableExtra("data");
如果不需要做剪切处理就可以直接使用图片了,比如输出到ImageView上
imageView.setImageBitmap(photo);
如果需要做剪切处理,就继续向下执行
3.做剪切处理
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setType("image/*");
intent.putExtra("data", data);
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 128);
intent.putExtra("outputY", 128);
intent.putExtra("return-data", true);
startActivityForResult(intent, PHOTO_PICKED_WITH_DATA);
4.在onActivityResult中处理
与第二步相同。
完整代码:
public class SdCardUriTestActivity extends Activity {
/** Called when the activity is first created. */
private Button btnTake = null;
private ImageView lblImage = null;
private static final int PHOTO_PICKED_WITH_DATA = 3021;
private static final int CAMERA_WITH_DATA = 3023;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnTake = (Button)findViewById(R.id.btnTake);
lblImage = (ImageView)findViewById(R.id.lblImage);
btnTake.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, CAMERA_WITH_DATA);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if(resultCode!=RESULT_OK)
return;
switch(requestCode){
case CAMERA_WITH_DATA:
final Bitmap photo = data.getParcelableExtra("data");
if(photo!=null){
doCropPhoto(photo);
}
case PHOTO_PICKED_WITH_DATA:
Bitmap photo1 = data.getParcelableExtra("data");
if(photo1!=null){
lblImage.setImageBitmap(photo1);
}
}
}
protected void doCropPhoto(Bitmap data){
Intent intent = getCropImageIntent(data);
startActivityForResult(intent, PHOTO_PICKED_WITH_DATA);
}
public static Intent getCropImageIntent(Bitmap data) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setType("image/*");
intent.putExtra("data", data);
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 128);
intent.putExtra("outputY", 128);
intent.putExtra("return-data", true);
return intent;
}
}
布局文件略
注:1.6的sdk运行此代码会出现问题,具体原因还在调查。也希望知道原因的朋友帮帮忙。
- Android 视频播放器截屏功能实现讲解
- android 视频播放器功能实现
- Java实现视频播放功能
- AVPlayer实现视频播放功能
- 实现简单的Android的播放视频功能
- Android Vitamio 直播视频播放功能的实现
- Android Vitamio 直播视频播放功能的实现
- Android的播放视频功能
- Android VideoView实现视频播放
- Android 实现视频录制播放
- android中实现播放视频
- android SurfaceView实现视频播放
- Android实现网络视频播放
- Android之实现视频播放
- android实现视频播放器
- 使用vcastr3.swf实现视频播放功能
- Java简单实现视频录制播放功能
- JSP页面实现播放视频功能
- Android4.0.1 模拟器内核 最新下载地址及编译步骤
- ios view与view间切换的动画效果
- HTML5到底是什么?
- 基于jQuery实现的当离开页面时出现提示的实现代码
- 源代码行数统计工具 Any Code Counter
- Android 视频播放器截屏功能实现讲解
- ios 视图切换动画效果
- Java 直接选择排序算法
- 深入分析 ASP.NET Mvc 1.0 – 2. Controller.Execute(Request)-TempDataDictionary的Load与Save操作
- Android应用程序组件Content Provider在应用程序之间共享数据的原理分析
- LinQ To Xml
- 服务器获得客户端提交的数据及中文乱码问题
- Android应用程序组件Content Provider的启动过程源代码分析
- OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪