2012-07-06 67 views
1

任何人都可以帮我:语音开始时自动语音录音,语音停止时播放

自动录音,静音时播放喜欢说话的时间。任何人都可以帮助我确定谈话背后的逻辑。当用户开始说话时,应该自动录音,并且当用户停止说话时,应该播放录制的语音。这可以做什么?请帮帮我。

在此先感谢

回答

0

我要说的是,你要分析你的音频流时,定义为“信号”一定峰值被打了一段时间举行,你会开始录制。

当另一个定义为“沉默”的定义值出现一段时间时,您需要停止记录并开始播放。

其实是一个纯粹的信号处理任务。 理论上不复杂。从来没有在iPhone上做过这个。

希望这有助于

最好,

弗洛

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"); 
} 
+0

ALPHA ?????什么值得采取的ALPHA? – 2013-11-21 10:16:03

+0

ALPHA的值是“0.5” – 2013-11-26 05:32:40

+0

对不起,我使用Dirac Framework播放录制的声音....我还没有找到averagePowerForChannel ...请指导我 – 2013-11-26 05:44:17