Android 使用意图录制视频

本文章主要将通过意图触发内置的Camera应用程序来录制视频。

源代码:

布局文件:

activity_main:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <Button
        android:id="@+id/button_capture"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="录制视频" />

    <Button
        android:id="@+id/button_play"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/button_capture"
        android:text="播放视频" />

    <VideoView
        android:id="@+id/videoView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/button_play" />

</RelativeLayout>

代码文件:

MainActivity:

package com.multimediademo14intentcamera;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.VideoView;

/**
 * 使用意图录制视频
 *
 */
public class MainActivity extends Activity implements OnClickListener {
	public static int VIDEO_CAPTURED = 1;
	/**
	 * 两个按钮: 录制视频按钮、播放视频按钮
	 */
	private Button button_capture, button_play;
	private VideoView videoView;
	private Uri videoFileUri;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		button_capture = (Button) findViewById(R.id.button_capture);
		button_play = (Button) findViewById(R.id.button_play);
		videoView = (VideoView) findViewById(R.id.videoView);

		button_capture.setOnClickListener(this);
		button_play.setOnClickListener(this);
		button_play.setEnabled(false);

	}

	@Override
	public void onClick(View v) {
		if (v == button_capture) {
			/**
			 * 店家录制视频按钮,将创建意图并连同VIDEO_CAPTURED常量一起将它传递给startActivityForResult方法,
			 * 这将启动内置的Camera应用程序。
			 */
			Intent captureVideoIntent = new Intent(
					android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
			startActivityForResult(captureVideoIntent, VIDEO_CAPTURED);
		} else if (v == button_play) {
			videoView.setVideoURI(videoFileUri);
			videoView.start();
		}
	}

	/**
	 * 当Camera应用程序返回时,将调用如下的onActivityResult方法。它将检查resultCode是否为常量RESULT_OK,
	 * 以及requestCode是否为传入到startActivityForResult的值VIDEO_CAPTURED
	 * ,然后获取录制的视频文件的Uri。
	 */
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (resultCode == RESULT_OK && requestCode == VIDEO_CAPTURED) {
			videoFileUri = data.getData();
			button_play.setEnabled(true);
		}
	}

}

源代码下载:

点击下载源码

Android 使用意图录制视频,布布扣,bubuko.com

时间: 2024-08-05 09:08:44

Android 使用意图录制视频的相关文章

vlc android 截图和录制视频(vlc0.9.9)

1.下载编译vlc 0.9.9 参考https://wiki.videolan.org/AndroidCompile/ 我的系统是Ubuntu 14.04 64位 2.在项目根目录../android,打上补丁 git apply *.patch 3.在../android/vlc,打上补丁 4.重新编译即可 要截图和录制视频的时候 只要使用LibVLC.java中的下面接口 public boolean takeSnapShot(String file, int width, int heig

Android拍照,录制视频,相机简单功能实现

1.效果图,功能没有录制出来. 基本实现了拍照,录制视频,前后摄像头切换的功能,可以转屏,聚焦. 代码在最下面,可以看代码,运行apk看实际效果. 2.工具类 package com.example.mycamera; import android.content.Context; import android.hardware.Camera; import android.media.MediaRecorder; import android.util.Log; import android.

Android拍照丶录制视频功能实现

基本实现了拍照,录制视频,前后摄像头切换的功能,可以转屏,聚焦 源码:https://gitee.com/lyc96/android_video 1.activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app

Android开发之打开闪光灯录制视频

Android的SDK在线API上对录制视频的方法.步骤都写得非常清楚,但是如果没有一点思路,写起来也比较式费事.录制视频的全过程要打开闪光灯(可能是因为项目需要,或者特殊原因),则必须按照一定的顺序进行开关,毕竟容易出错.要实现录制的同时开启闪光灯也不难,官方API给出了一个大体的步骤.因为要采集点视频数据,临时写了个简单的Demo学习下,必要时再深度开发. 首先在工程中的AndroidManifest.xml中添加权限声明,因为要使用到摄像头,故需要添加Camera的相关权限,另外还需要写S

Android使用的开发MediaRecorder录制视频

MediaRecorder除了使用录制音频.还可用于录制视频.关于MediaRecorder的具体解释大家能够參考<Android开发之MediaRecorder类具体解释>.使用MediaRecorder录制视频与录制音频的步骤基本同样.仅仅是录制视频时不仅须要採集声音.还须要採集图像.为了让MediaRecorder录制时採集图像,应该在调用setAudioSource(int audio source)方法时再调用setVideoSource(int video source)方法来设置

Android多媒体-MediaRecorder 录制音视频

不多说,直接上代码,有详细注释 MyAudioRecord.java import java.io.File; import java.io.IOException; import android.app.Activity; import android.content.ContentValues; import android.content.Intent; import android.media.MediaPlayer; import android.media.MediaRecorder

Android 使用意图播放本地视频

Android播放视频的方式有三种: 一.使用意图播放,调用本地安装的播放器,选择一个进行播放. 二.使用VideoView播放(VideoView事实上是对MediaPlayer的封装,使用起来非常easy,可是缺少灵活性). 三.使用MediaPlayer播放(将MediaPlayer对象用于视频播放可以为控制播放本身提供最大的灵活性). 本文章仅仅解说使用意图播放视频,用于处理播放的详细机制也是MediaPlayer.其余的播放将在后面的文章中讲到. 源码: 布局文件activity_ma

Android录制视频分段保存的探究

录制视频需要分段保存,可以从系统源码考虑,看了以下一些代码: framework/av/media/libstagefright/MPEG4Writer.cpp package/apps/Camera/src/com/android/camera/actor/VideoActor.java 主要从MPEG4Writer.cpp中的kMax32BitFileSize 和入手,如下,修改单个文件最大容量为56M(0x3800000),发现利用系统Camera录像时,到达阀值后会提示"已达到大小上限&

Android录制视频

我们一般直接从摄像头和麦克风取数据,经过编码,保存为文件.android的视频录制需要使用到MediaRecorder,MediaRecorder除了可以用于录制音频,还可用于录制视频. 效果图如下图所示: 一个为录制过程中,可以看到屏幕上方的录制时间显示,后一个为停止录制视频. 然后录制好的视频可以在手机的SD卡中找到,如下图所示: 视频录制步骤: 1) 调用MediaRecorder 对象的setVideoEncoder().setVideoEncodingBitRate(intbitRat