废话不说,直接上代码。
布局文件
<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context="com.example.gitzzp.MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="publish"
android:id="@+id/publish"
android:layout_alignParentTop="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="stop"
android:id="@+id/stop"
android:layout_toRightOf="@id/publish"
android:layout_marginTop="0dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="switch"
android:id="@+id/swCam"
android:layout_alignBottom="@id/stop"
android:layout_toRightOf="@id/stop" />
<EditText
android:id="@+id/vbitrate"
android:textSize="14dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/publish"
android:layout_marginTop="0dp" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14dp"
android:id="@+id/url"
android:layout_below="@id/publish"
android:layout_above="@+id/frameLayout"
android:layout_toRightOf="@id/vbitrate" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/vbitrate"
android:layout_centerHorizontal="true"
android:layout_marginTop="0dp"
android:id="@+id/frameLayout">
<com.example.gitzzp.CameraPreview
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/preview" />
</FrameLayout>
</RelativeLayout>
非常简单的布局,没什么可说的,唯一要说的就是最后边这个CameraPreview,这是一个自定义控件,继承自SurfaceView,用于显示摄像头的预览,具体代码后边会贴出来。
MainActivity:
package com.example.gitzzp;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
private SharedPreferences sp;
private CameraPreview mCameraView = null;
priva