任何人都可以帮助我:
自动录制声音并在静音时播放,如说汤姆。任何人都可以帮助我找出谈论汤姆背后的逻辑。当用户开始讲话时,它应该自动录制,当用户停止讲话时,录制的语音应该播放。怎么办?请帮帮我。
提前致谢
答案 0 :(得分:3)
float peakPowerForChannel = pow(10, (0.05 * [soundRecorder peakPowerForChannel:0]));
float averagePowerForChannel = pow(10, (0.05 * [soundRecorder averagePowerForChannel:0]));
lowPassResults = ALPHA * peakPowerForChannel + (1.0 - ALPHA) * lowPassResults;
averagePassResults = ALPHA * averagePowerForChannel + (1.0 - ALPHA) * averagePassResults;
if (peakPowerForChannel > 0.08f) {
[soundRecorder recordForDuration:5];
} else {
NSLog(@"not audible");
}
答案 1 :(得分:0)
我想说你必须分析你的音频流,当一个定义为“信号”的某个峰值被击中并保持一段时间时,你就会开始录音。
当另一个定义为“静音”的定义值出现一段时间后,您需要停止录制并开始播放。
实际上是一个纯粹的信号处理任务。 理论上并不复杂。从来没有在iPhone上做过这件事。
希望这有帮助,
最好的,
弗洛