任何人都可以帮我解决以下问题:
自动录制语音,并在静音时播放,就像说话的汤姆一样。谁能帮我确定会说话的汤姆背后的逻辑。当用户开始说话时,它应该自动录制,当用户停止说话时,应该播放录制的语音。这怎么可能?请帮我。
提前致谢
任何人都可以帮我解决以下问题:
自动录制语音,并在静音时播放,就像说话的汤姆一样。谁能帮我确定会说话的汤姆背后的逻辑。当用户开始说话时,它应该自动录制,当用户停止说话时,应该播放录制的语音。这怎么可能?请帮我。
提前致谢
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");
}
我会说你必须分析你的音频流,当一个定义为“信号”的峰值被击中并保持一段时间时,你就会开始录制。
当另一个定义为“静音”的值出现一段时间后,您需要停止录制并开始播放。
实际上是一个纯粹的信号处理任务。理论上不复杂。不过,从来没有在 iPhone 上这样做过。
希望这可以帮助,
最好的,
弗洛