开发学院手机开发Android 开发 深入探讨 Android 传感器 阅读

深入探讨 Android 传感器

 2010-07-21 01:10:00 来源:WEB开发网   
核心提示:}catch (IOException e){Log.e(TAG,"sdcard access error");return;}}mrec.setOutputFile(audiofile.getAbsolutePath());mrec.prepare();mrec.start();}protecte

}

catch (IOException e)

{

Log.e(TAG,"sdcard access error");

return;

}

}

mrec.setOutputFile(audiofile.getAbsolutePath());

mrec.prepare();

mrec.start();

}

protected void stopRecording()

{

mrec.stop();

mrec.release();

processaudiofile(audiofile.getAbsolutePath());

}

protected void processaudiofile()

{

ContentValues values = new ContentValues(3);

long current = System.currentTimeMillis();

values.put(MediaStore.Audio.Media.TITLE, "audio" + audiofile.getName());

values.put(MediaStore.Audio.Media.DATE_ADDED, (int) (current / 1000));

values.put(MediaStore.Audio.Media.MIME_TYPE, "audio/3gpp");

values.put(MediaStore.Audio.Media.DATA, audiofile.getAbsolutePath());

ContentResolver contentResolver = getContentResolver();

Uri base = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;

Uri newUri = contentResolver.insert(base, values);

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, newUri));

}

复制代码

在 startRecording 方法中,实例化并初始化 MediaRecorder 的实例:

输入源被设置为麦克风(MIC)。

输出格式被设置为 3GPP(*.3gp 文件),这是移动设备专用的媒体格式。

编码器被设置为 AMR_NB,这是音频格式,采样率为 8 KHz。NB 表示窄频。SDK 文档 解释了不同的数据格式和可用的编码器。

音频文件存储在存储卡而不是内存中。External.getExternalStorageDirectory() 返回存储卡位置的名称,在该目录中将创建一个临时文件名。然后,通过调用 setOutputFile 方法将文件关联到 MediaRecorder 实例。音频数据将存储到该文件中。

调用 prepare 方法完成 MediaRecorder 的初始化。准备开始录制流程时,将调用 start 方法。在调用 stop 方法之前,将对存储卡上的文件进行录制。release 方法将释放分配给 MediaRecorder 实例的资源。

上一页  3 4 5 6 7 8 9  下一页

Tags:深入 探讨 Android

编辑录入:coldstar [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接