2015-02-10 41 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 

}