2015-02-10 2 views
1

Мне интересно, как лучше всего записать звук, пока пользователь держит UIButton. (т. е. начать, когда пользователь удерживает и останавливается, когда он отпускает кнопку). Будет что-то вроде этой работы?Запись звука при нажатой кнопке

Вызов функции

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

Функция:

func holding (sender:UIButton!) { 

// Sound recording code here 

} 

Кроме того, я пытаюсь обновить UIProgressView как звук записывается. Есть ли способ получить доступ к количеству времени (в секундах/миллисекундах), которое прошло с момента начала записи? Могу ли я просто использовать собственный таймер или будет какая-то зависимость?

+1

Где вы хотите получить доступ к прошедшему времени? И да, вы можете сделать что-то подобное, и вы можете остановить запись другим методом на той же кнопке, что и на TouchUpInside. – rdelmar

+0

Я хочу получить к нему доступ из функции 'hold', чтобы я мог обновить' UIProgressView' из своего тега – SpaceShroomies

+0

. Тогда да, вы можете использовать таймер, который вы запускаете в методе удержания, и что вы недействительны в методе это вызвано прикосновением внутрь. – rdelmar

ответ

0

я имел аналогичное требование в последнее время, и вместо того, чтобы использовать UIButton я использовал регулярный вид (UILabel, UIImageView или все, что вы хотите «кнопку», чтобы выглядеть) с UILongPressGestureRecognizer добавил. Целевая функция распознавателя жестов может затем остановить/начать запись по мере необходимости:

func holding (sender:UILongPressGestureRecognizer!) { 

    // If the gesture state is UIGestureRecognizerStateBegan start recording 

    // If it is UIGestureRecognizerStateEnded stop recording 

} 
Смежные вопросы