2015-02-10 100 views
1

我想知道在用户按住UIButton的同时录制声音的最佳方式是什么。 (即当用户按下时开始,当他释放按钮时停止)。会有这样的工作吗?在按住按钮的同时录制音频

函数调用

button.addTarget(self, action: "holding:", forControlEvents: .TouchDown) 

功能:

func holding (sender:UIButton!) { 

// Sound recording code here 

} 

而且我想作为声音记录更新UIProgressView。有没有一种方法可以访问自记录开始以来已经过去的时间量(以秒/毫秒为单位)?我可以使用我自己的计时器还是会有一些依赖性?

+1

您想在哪里访问经过的时间?而且,是的,你可以做一些像你一样的事情,并且可以用TouchUpInside上调用的同一按钮以另一种方法停止录制。 – rdelmar 2015-02-10 00:24:04

+0

我想从'hold'函数中访问它,以便我可以从它的标记更新'UIProgressView' – SpaceShroomies 2015-02-10 00:27:40

+0

然后是的,您可以使用一个计时器,您可以使用一个在保持方法中启动的计时器,并且您可以在方法中使其失效这是在接触里面。 – rdelmar 2015-02-10 00:29:25

回答

0

我最近也有类似的要求,而是采用了UIButton我用了一个常规视图(UILabelUIImageView或任何你想要的“按钮”,看起来像)带UILongPressGestureRecognizer增加。手势识别器的目标功能然后可以根据需要停止/开始记录:

func holding (sender:UILongPressGestureRecognizer!) { 

    // If the gesture state is UIGestureRecognizerStateBegan start recording 

    // If it is UIGestureRecognizerStateEnded stop recording 

}