多媒体应用之简单录像
请求相机功能
如果应用是以相机为基础的,建议在manifest文件中加入标签
<manifest ...>
<uses-feature android:name="android.hardware.camera" android:required="true"/>
...
</manifest>
如果应用中,相机并不是必需的,可以设置android:required=”false”。此时,google商店会允许不带相机的设置下载应用。如果要检测是否带有相机,调用hasSystemFeature(PackageManager.FEATURE_CAMERA),如果没有,要屏蔽相机功能。
通过相机app录像
通过Intent启动另外的Activity:
static final int REQUEST_VIDEO_CAPTURE = 1;
private void dispatchTakeVideoIntent(){
Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
if(takeVideoIntent.resolveActivity(getPackageManager() != null){
startActivityForResult(takeVideoIntent,REQUEST_VIDEO_CAPTURE);
}
}
resolveActivity()会返回处理此Intent的第一个activity。如果没有应用可以处理,调用startActivityForResult()将会崩溃。
查看录像
录像应用返回含有Uri的Intent到onActivityResult()方法中,下面代码会使用VideoView检索和显示录像。
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent intent){
if(requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK){
Uri videoUri = intent.getData();
mVideoView.setVideoURI(videoUri);
}
}