2.eclipse中的lib目录结构如下
assets下面的事tts播报的资源文件
libs目录下,
libtts.so tts播报所需的库文件
libspeex.so语音识别所需的库文件
libolamsc.so语音识别所需的库文件
tts.jar tts播报所需的库文件
voicesdk_android.jar语音识别所需的库文件
3.AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.olami"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="14" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
需要录音,网络,读写sd卡,拍照等权限。
4.layout布局<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">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<SurfaceView android:id="@+id/sView"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<com.olami.FaceView
android:id="@+id/faceView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<Button
android:id="@+id/btn_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="开始" />
在surfaceview中自定义了一个FaceView,faceview用来显示抓拍的人脸。
屏幕最下方有个button,因为这个版本暂时不支持语音唤醒功能(后续添加后再更新),添加一个button用于用户想随时说拍照的时候点击触发用。
5.MainActivity.java和FaceView.java- 1.MainActivity.Java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_camera);
initHandler();//用于处理录音状态回调的消息
initView();