MediaRecorder录音暂停 怎样利用MediaRecorder实现录音暂停功能 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 参考文档上的void stop()Stops recording.暂停的函数没有! 只有停止 API 上应该有 pause 吧 package cn.itcast.video;import android.app.Activity;import android.content.Context;import android.media.MediaRecorder;import android.os.Bundle;import android.util.Log;import android.view.Display;import android.view.SurfaceHolder;import android.view.SurfaceView;import android.view.View;import android.view.WindowManager;import android.widget.Button;public class VideoRecordActivity extends Activity { private static final String TAG = "VideoRecordActivity"; private Button startButton; private Button stopButton; private boolean record; private MediaRecorder recorder; private SurfaceView surfaceView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); recorder = new MediaRecorder(); ButtonListener listener = new ButtonListener(); startButton = (Button)this.findViewById(R.id.start); stopButton = (Button)this.findViewById(R.id.stop); this.surfaceView = (SurfaceView) this.findViewById(R.id.surfaceView); startButton.setOnClickListener(listener); stopButton.setOnClickListener(listener); stopButton.setEnabled(false);//不可用 /*下面设置Surface不维护自己的缓冲区,而是等待屏幕的渲染引擎将内容推送到用户面前*/ this.surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); this.surfaceView.getHolder().setFixedSize(320, 240);//设置分辨率 this.surfaceView.getHolder().setKeepScreenOn(true); } private final class ButtonListener implements View.OnClickListener{ @Override public void onClick(View v) { try { switch (v.getId()) { case R.id.start: stopButton.setEnabled(true);//设置可用 startButton.setEnabled(false); recorder.reset(); recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //从照相机采集视频 recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setVideoSize(320, 240); recorder.setVideoFrameRate(3); //每秒3帧 recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263); //设置视频编码方式 recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setOutputFile("/mnt/sdcard/itcast.3gp"); recorder.setPreviewDisplay(surfaceView.getHolder().getSurface()); recorder.prepare();//预期准备 recorder.start();//开始刻录 record = true; break; case R.id.stop: stopButton.setEnabled(false); startButton.setEnabled(true); if(record){ recorder.stop();//停止刻录 record = false; } break; } } catch (Exception e) { Log.e(TAG, e.toString()); } } }} 如何曲线解决呢?不要说NDK,因为我还不会。 为网站配套android需要如何组织? ******【android调用WCF接口Get Post方式还有ref参数的配置】****** android中gridview使用中出现重影 【求助】从系统的运用进入Recover后y升级失败,困扰了2个星期了。 android 的jpeg解码能力不行? 跪求一个类似android版UC浏览器的多标签页实现方法 如何移除 SearchView 的焦点 天气应用的动态背景是怎么实现的 小白,问个小问题? 后台socket长连接为什么会自动断开 apk文件无法直接下载 自制android 刷机包,刷机失败。
Stops recording.暂停的函数没有!
只有停止 API 上应该有 pause 吧
package cn.itcast.video;import android.app.Activity;
import android.content.Context;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.util.Log;
import android.view.Display;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;public class VideoRecordActivity extends Activity {
private static final String TAG = "VideoRecordActivity";
private Button startButton;
private Button stopButton;
private boolean record;
private MediaRecorder recorder;
private SurfaceView surfaceView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
recorder = new MediaRecorder();
ButtonListener listener = new ButtonListener();
startButton = (Button)this.findViewById(R.id.start);
stopButton = (Button)this.findViewById(R.id.stop);
this.surfaceView = (SurfaceView) this.findViewById(R.id.surfaceView);
startButton.setOnClickListener(listener);
stopButton.setOnClickListener(listener);
stopButton.setEnabled(false);//不可用
/*下面设置Surface不维护自己的缓冲区,而是等待屏幕的渲染引擎将内容推送到用户面前*/
this.surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
this.surfaceView.getHolder().setFixedSize(320, 240);//设置分辨率
this.surfaceView.getHolder().setKeepScreenOn(true);
}
private final class ButtonListener implements View.OnClickListener{
@Override
public void onClick(View v) {
try {
switch (v.getId()) {
case R.id.start:
stopButton.setEnabled(true);//设置可用
startButton.setEnabled(false);
recorder.reset();
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //从照相机采集视频 recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setVideoSize(320, 240);
recorder.setVideoFrameRate(3); //每秒3帧
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263); //设置视频编码方式 recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile("/mnt/sdcard/itcast.3gp");
recorder.setPreviewDisplay(surfaceView.getHolder().getSurface());
recorder.prepare();//预期准备
recorder.start();//开始刻录
record = true;
break;
case R.id.stop:
stopButton.setEnabled(false);
startButton.setEnabled(true);
if(record){
recorder.stop();//停止刻录
record = false;
}
break;
}
} catch (Exception e) {
Log.e(TAG, e.toString());
}
}
}
}