2010-11-21 13 views
13

Puedo capturar una imagen con el iPhone mediante programación llamando al [UIImagePickerController takePicture:], pero cuando lo hago, el iPhone reproduce una grabación fuerte de un clic del obturador. Cuando busco la forma de desactivar el clic, encuentro consejos para cambiar el nombre del archivo de sonido que reproduce el iPhone. Me parece que para mi aplicación eso llevaría a que se rechace en la tienda de aplicaciones para acceder a los marcos del sistema. ¿Hay alguna forma programática de apagar ese sonido? La naturaleza de mi aplicación exige que la cámara guarde silencio.¿Cómo silenciar el sonido del obturador de la cámara del iPhone?

+3

+1 en contador -1. –

+0

Me gustaría hacer esto también: he intentado grabar muchas imágenes fijas rápidamente (a través de AVCaptureStillImageOutput), y el sonido del obturador continuo no es bienvenido a este respecto. –

+1

Como han dicho otros, esto lo coloca en el lado equivocado de la ley en varios países. –

Respuesta

1

No estoy seguro de si desea hacerlo ... El sonido está ahí para que alguien sepa que se está tomando una foto. La idea es asegurar la privacidad y la seguridad del público, especialmente a los niños," algo que Japón ya ha requerido de sus ciudadanos al que le encanta

Japón y Corea ya tienen leyes que requieren este sonido al tomar fotografías.

http://abcnews.go.com/Technology/story?id=6750825&page=1

extracto: "gobiernos han aprobado leyes similares a la que el rey propone '

' en Japón y Corea, Segan señaló, en respuesta a los informes de montaje de" underskirting,

+0

El usuario puede silenciar el sonido si lo desea. Mantengo mi teléfono en silencio; la cámara no hace un sonido. Es especial para teléfonos en Japón. –

+0

También tenga en cuenta: las cámaras de video no hacen un sonido constante, ¿verdad? Por lo tanto, cualquiera puede evitar fácilmente ser notado usando la grabación de video en su lugar, especialmente dado que la cámara del iPhone no muestra una luz de grabación roja que generalmente vemos en cámaras de video dedicadas. –

+0

Esto no es una respuesta, sino una mera opinión. –

1

Cambiar el nombre del archivo de sonido no usaría una "API privada"; simplemente no es posible desde dentro de la caja de arena (suponiendo que no haya salido de la caja de arena de alguna manera).

Sin embargo, en la versión 4.0+, puede utilizar AVCapture para tomar fotos. No estoy seguro de si AVCaptureStillImageOutput reproduce un sonido de obturador; una solución alternativa es usar marcos de video.

Sin embargo, me pregunto qué quiere decir con "la naturaleza de mi aplicación". Si está tratando de hacer algún tipo de procesamiento de imágenes en vivo, entonces los marcos de video son una forma mucho mejor de ir en primer lugar. Si está tratando de tomar imágenes en silencio con el permiso del usuario, entonces el usuario debería poder silenciar el sonido del obturador de todos modos. Si intenta tomar fotografías sin el permiso del usuario, probablemente esté violando algún acuerdo con Apple.

+8

AVCaptureStillImageOutput reproduce un sonido – ohho

5

Supongo que lo ha solucionado desde entonces, pero se supone que su aplicación falla en la validación de la tienda de aplicaciones, ya que no cumple con el acuerdo de licencia de revelado de iOS. Vea a continuación:

Sección 3.3.8: Cualquier forma de recolección de datos de usuario o dispositivo, o imagen, imagen o captura de voz o grabación (colectivamente "Grabaciones"), y cualquier tipo de datos, contenido o información recopilación, procesamiento, mantenimiento, carga, sincronización, almacenamiento, transmisión, uso compartido, divulgación o uso realizado por, a través o en conexión con su La aplicación debe cumplir con todas las leyes de privacidad aplicables y regulaciones, así como los requisitos del programa relacionados, incluyendo pero no limitado a ningún aviso o requisito de consentimiento. En particular, un razonablemente visible indicador de audio, visual u otro debe ser mostrado al usuario como parte de la Aplicación para indicar que se está realizando una grabación .

+1

Se debe mostrar al usuario un "indicador de audio, visual u otro indicador razonablemente llamativo", de modo que mientras el OP proporcione una indicación visual de que se está grabando, el sonido podría permanecer apagado siempre que no entró en conflicto con las leyes de privacidad locales, en cuyo caso la aplicación simplemente podría dejar el sonido en algunos mercados. –

+0

Puede interpretarlo de varias maneras. Pero en este caso, solo cuenta la interpretación de Apple, ya que rechazarán tu aplicación (como hicieron los nuestros) si la cámara está tomando fotos en silencio. –

+0

Tengo 3 aplicaciones en vivo en la AppStore que no fueron rechazadas debido a este problema, pero en las 3 aplicaciones notificamos a los usuarios que la cámara fue habilitada. –

1

Por lo que vale la pena, pude hacer que esto funcione con este código en el método snapStillImage de AVCapture framework utilizando AVCaptureStillImageOutput. Funciona perfectamente para mí en iOS 8.3 iPhone 5.También he confirmado que Apple no rechazará su aplicación si usa esto:

MPVolumeView* volumeView = [[MPVolumeView alloc] init]; 
//find the volumeSlider 
UISlider* volumeViewSlider = nil; 
for (UIView *view in [volumeView subviews]){ 
    if ([view.class.description isEqualToString:@"MPVolumeSlider"]){ 
     volumeViewSlider = (UISlider*)view; 
     break; 
    } 
} 

[volumeViewSlider setValue:0.0f animated:YES]; 
[volumeViewSlider sendActionsForControlEvents:UIControlEventTouchUpInside]; 
Cuestiones relacionadas