1

誰でも次のことを手伝ってもらえますか:

音声を自動的に録音し、トーキング トムのようにしばらく無音で再生します。トーキング・トムの背後にあるロジックを特定するのを手伝ってくれる人はいますか。ユーザーが話し始めると自動的に録音され、ユーザーが話すのを止めると、録音された音声が再生されます。これはどのように行うことができますか?私を助けてください。

前もって感謝します

4

2 に答える 2

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");
}
于 2013-02-14T06:02:56.617 に答える
0

オーディオストリームを分析する必要があり、「信号」として定義された特定のピーク値がヒットしてしばらく保持されると、録音が​​開始されます。

「無音」として定義された別の定義値がしばらく表示されている場合は、録音を停止して再生を開始する必要があります。

実際には純粋な信号処理タスクです。理論的には複雑ではありません。ただし、iPhoneでこれを行ったことはありません。

お役に立てれば、

一番、

フロー

于 2012-07-06T13:57:52.170 に答える