SCListener如何工作?

时间:2009-03-08 07:56:58

标签: iphone

我如何使用Stephen Celis的精彩SCListener单身人士?

http://stephencelis.com/2009/03/02/now-i-just-need-an-audience.html

我想从非常简单的事情开始......比如在textview中显示输入音量或者只是在侦听器检测到某些内容时显示UIImage。

非常感谢任何帮助!

谢谢!

3 个答案:

答案 0 :(得分:1)

你不明白,SCListener是一个非常简单的课程。

将AudioToolbox框架添加到您的项目中,然后将Stephen的示例代码包含在您的源文件中。

我怀疑你的问题实际上是“如何让我的应用响应SCListener的返回值?” SCListerner并非异步。你需要轮询它以获得peakValues。

为了您的使用,我建议您设置一个计时器,或者扩展SCListener,以便在达到峰值时生成回调。

答案 1 :(得分:1)

blowTimer = [NSTimer timerWithTimeInterval: 1 
                target: self 
                selector: @selctor(checkBlow) 
                userInfo: nil
                repeats: YES];

[[NSRunLoop currentRunLoop] addTimer: blowTimer
                forMode: NSDefaultRunLoopMode];

[[SCListener sharedListener] listen];

这段代码基本上会启动监听器,并且每秒调用checkBlow方法。

checkBlow的代码如下所示:

- (void) checkBlow
{
    if ([SCListener sharedListener] != nil)
    {
        Float32 volume = [[SCListener sharedListener] peakPower];

        if (volume > BlowingTriggerThreshold)
    {
        //DO SOMETHING AWESOME HERE
    }
    }
}

答案 2 :(得分:1)

SCListener现已过时。它早于AVAudioRecorder,它现在是SDK的一部分。请查看本教程中的音频级别:

http://www.mobileorchard.com/tutorial-detecting-when-a-user-blows-into-the-mic/