【发布时间】:2011-06-27 10:26:58
【问题描述】:
我正在尝试运行录音http://developer.android.com/guide/topics/media/index.html,它工作正常,我需要的是在连续录音的同时显示最大振幅。最好的方法是什么。
【问题讨论】:
我正在尝试运行录音http://developer.android.com/guide/topics/media/index.html,它工作正常,我需要的是在连续录音的同时显示最大振幅。最好的方法是什么。
【问题讨论】:
最大幅度给出给定样本的最大幅度,因此我每 250 毫秒采样一次并计算最大幅度
public void run() {
int i = 0;
while(i == 0) {
Message msg = mHandler.obtainMessage();
Bundle b = new Bundle();
try {
sleep(250);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (mRecorder != null) {
amplitude = mRecorder.getMaxAmplitude();
b.putLong("currentTime", amplitude);
Log.i("AMPLITUDE", new Integer(amplitude).toString());
} else {
b.putLong("currentTime", 0);
}
msg.setData(b);
mHandler.sendMessage(msg);
}
}
我使用消息处理程序通过后台进程线程修改前端
【讨论】:
创建一个一直运行的线程。 在线程中这样做:
int amp = mrec.getMaxAmplitude();
if (amp > 0)
yourcode;
您需要有关线程的更多信息吗?
【讨论】: