易网时代-编程资源站
Welcome
微信登录
首页
/
操作系统
/
Linux
/
Android简单的利用MediaRecorder进行录音
MediaRecorder可以进行简单的录音,由于操作简单所以可以用来进行基本的录音。下面提供一个简单的例子,记得在Mainfest文件中添加权限。代码如下:
package
com.ppmeet;
import
java.io.IOException;
import
Android.app.Activity;
import
android.graphics.PixelFormat;
import
android.media.MediaRecorder;
import
android.os.Bundle;
import
android.view.View;
import
android.view.View.OnClickListener;
import
android.view.Window;
import
android.view.WindowManager;
import
android.widget.Button;
/**
* class name:TestBasicAudio<BR>
* class description:Basic Record Audio Demo<BR>
*
* @version 1.00 2011/12/01
* @author CODYY)peijiangping
*/
public
class
TestBasicAudio
extends
Activity {
private
Button button_start;
private
Button button_stop;
private
MediaRecorder recorder;
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
getWindow().setFormat(PixelFormat.TRANSLUCENT);
// 让界面横屏
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 去掉界面标题
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 重新设置界面大小
setContentView(R.layout.main);
init();
}
private
void
init() {
button_start = (Button)
this
.findViewById(R.id.start);
button_stop = (Button)
this
.findViewById(R.id.stop);
button_stop.setOnClickListener(
new
AudioListerner());
button_start.setOnClickListener(
new
AudioListerner());
}
class
AudioListerner
implements
OnClickListener {
@Override
public
void
onClick(View v) {
if
(v == button_start) {
initializeAudio();
}
if
(v == button_stop) {
recorder.stop();
// 停止刻录
// recorder.reset(); // 重新启动MediaRecorder.
recorder.release();
// 刻录完成一定要释放资源
// recorder = null;
}
}
private
void
initializeAudio() {
recorder =
new
MediaRecorder();
// new出MediaRecorder对象
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
// 设置MediaRecorder的音??源为麦克风
recorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
// 设置MediaRecorder录制的音频格式
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
// 设置MediaRecorder录制音频的编码为amr.貌似android就支持amr编码。
recorder.setOutputFile(
"/sdcard/peipei.amr"
);
// 设置录制好的音频文件保存路径
try
{
recorder.prepare();
// 准备录制
recorder.start();
// 开始录制
}
catch
(IllegalStateException e) {
e.printStackTrace();
}
catch
(IOException e) {
e.printStackTrace();
}
}
}
}
AndroidMainfest.xml
<?xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<manifest
xmlns:android
=
"http://schemas.android.com/apk/res/android"
package
=
"com.ppmeet"
android:versionCode
=
"1"
android:versionName
=
"1.0"
>
<uses-sdk
android:minSdkVersion
=
"8"
/>
<application
android:icon
=
"@drawable/ic_launcher"
android:label
=
"@string/app_name"
>
<activity
android:name
=
".TestBasicAudio"
android:screenOrientation
=
"landscape"
>
<intent-filter
>
<action
android:name
=
"android.intent.action.MAIN"
/>
<category
android:name
=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>
<!-- 联网权限 -->
<uses-permission
android:name
=
"android.permission.INTERNET"
/>
<!-- 往SDCard写入数据权限 -->
<uses-permission
android:name
=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<!-- 录音权限 -->
<uses-permission
android:name
=
"android.permission.RECORD_AUDIO"
/>
<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission
android:name
=
"android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
/>
</manifest>
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图