Como tirar uma foto no evento de aumento de volume ao usar o UIImagePickerController com controles de câmera personalizados?
No iOS 5, o botão de aumento de volume agora tira uma foto no aplicativo da câmera e em umUIImagePickerController
instância em que.showsCameraControlls == YES
. Dias felizes
No entanto, quando eu definirshowsCameraControlls
paraNO
e forneça o meu próprio (que, por sua vez, acionatakePicture
método), o botão de aumento de volume não funcionará mais. Como posso detectar o evento de volume enquanto o UIImagePickerController está sendo exibido?
A maneira antiga de detectar alterações de volume era assim:
AudioSessionSetActive(true);
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(volumeChanged:)
name:@"AVSystemController_SystemVolumeDidChangeNotification"
object:nil];
Adicionei esse código ao meu representante de aplicativo. EstranhamentevolumeChanged:
não é acionado até que eu mostre oUIImagePickerController
pela primeira vez. Mais importante, ele não é acionado enquanto o UIImagePickerController está visível (nem o HUD de volume usual é mostrado), acho que desde que a Apple o desativou e sequestrou o event
Então, mais uma vez, existe alguma maneira de detectar o evento do botão de aumento de volume, enquanto oUIImagePickerController
está sendo exibido, ao usar controles de câmera personalizados, com a finalidade de tirar uma foto?
Se você está se perguntando por que preciso usar controles personalizados da câmera, é porque quero tirar várias fotos, o que os controles padrão da câmera não permite