MediaRecorder视频的录制和播放

本文介绍了Android中MediaRecorder的使用,包括视频录制和播放功能。MediaRecorder通常涉及音频和视频记录,同时与Camera组件协作,Camera提供视频数据和预览。在Android系统架构中,MediaRecorder在上层应用层与Camera交互,而在C框架以下,Camera的部分功能被MediaRecorder调用。在实际应用中,MediaRecorder利用Camera的预览和视频数据流功能进行视频录制。接下来的内容将通过代码展示如何实现MediaRecorder的视频录制和播放功能,并提到了权限申请和布局文件的设置。
摘要由CSDN通过智能技术生成
Android 中MediaRecorder和Camera的关系

从功能的角度MediaRecorder一般包含音频,视频记录,视频预览的功能,Camera包含了取景区预览,静态图像捕获的功能。在Android中,应用程序自上而下分成JAVA应用,JAVA框架,JNI,C框架,具体实现几个部分。多媒体方面的程序尤其是这样。MediaRecorder 和Camera在Android中都有自上而下的架构,它们在顶层JAVA应用层,共用一个应用程序Camera(其中的程序也是独立的),在JAVA框 架和JNI层是独立的,主要的联系在于Camer的C框架以下的内容被MediaRecorder实现(也就是PVAuthor)所调用,作为 MediaRecorder实现的视频输入设备,它的作用是负责传输视频数据和提供显示预览。本身Camera C框架以下的代码基本提供了取景器预览(Preview)、视频数据流获取、静止图像获取三方面的功能,MediaRecorder实现使用其取景器预览和视频数据流获取的功能,而Camera的JNI使用其取景器预览和静止图像获取两方面的功能。

上一节讲述了关于MediaRecorder的声音的录制,这一节主要讲MediaRecorder的视频录制和播放,关于MediaRecorder不再多说,直接行代码了:

首先添加权限:

<!--网络权限 -->
<uses-permission android:name="android.permission.INTERNET"/>
<!--sdcard卡写入权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<!--录音权限 -->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<!--SDCard中创建与删除权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!--摄像头权限 -->
<uses-permission android:name="android.permission.CAMERA"/>

1、录制的布局文件xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="horizontal"
      android:layout_width="match_parent"
      android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" >

        <SurfaceView
            android:id="@+id/surfaceview"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="4"
        android:gravity="center"
        android:orientation="vertical" >

        <Button
            android:id="@+id/start"
            android:layout_width="fill_parent"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值