2012-06-26 17 views
5

Duplicar posibles:
Mute/Silence an iOS device programmatically?desactivar el volumen del dispositivo IOS -

necesito para apagar el volumen del dispositivo mediante programación. ¿Alguien sabe una manera?

Hasta ahora he descubierto que quizás pueda usar la función AudioSessionSetProperty() y use la propiedad "kAudioSessionProperty_CurrentHardwareOutputVolume", pero esta propiedad solo es de solo lectura. Así que no estoy seguro de si esto funcionará:

float value = 0.0f; 
AudioSessionSetProperty(kAudioSessionProperty_CurrentHardwareOutputVolume, sizeof(float), &value); 

Ya hay aplicaciones en la App-Store que hace esto, por ejemplo, AutoSilent:

http://itunes.apple.com/nl/app/autosilent/id474777148?mt=8

Respuesta

3

Usted no puede hacer esto con IOS. La única manera de silenciar un dispositivo iOS es mediante el uso del interruptor de hardware. Puede detect it y silenciar su aplicación en consecuencia, pero no puede silenciar todo el dispositivo desde su aplicación.

+0

No creo que tenga razón, ya que hay aplicaciones en la tienda de aplicaciones que lo hacen ... p. Ej. AutoSilent vea http://itunes.apple.com/nl/app/autosilent/id474777148?mt=8 – revolutionary

+0

Supongo que usan alguna API privada para esto, lo cual no está permitido. ¿Cómo aceptaron esas aplicaciones? No lo sé. Supongo que tienen suerte ya que el sistema de envío de aplicaciones es un poco de lotería :-) – Adam

0

Ver esta pregunta: How to disable iOS System Sounds

Y esta pregunta: Mute/Silence an iOS device programmatically?

Dicen que hay que es posible si usted tiene que utilizar un marco privado llamado el marco celeste. Se podría utilizar AVSystemController para silenciar el teléfono de este modo:

[[AVSystemController sharedAVSystemController] setVolumeTo:0 forCategory:@"Ringtone"]; 

El uso de marcos particulares en su aplicación hará que sea rechazado por Apple, por lo que no recomendamos que se use. Algunos creen que el uso de marcos privados en su aplicación podría ser potencialmente permitido por Apple inicialmente (si se lo pierden), pero pronto será eliminado de la App Store cuando se den cuenta de que está utilizando un marco privado.

Espero que esto ayude!

+0

Creo que debe haber una forma no privada de hacerlo, porque lo único que estas aplicaciones están haciendo, p. AutoSilent y SilentAlert, está desactivando el volumen del dispositivo ..... No creo que Apple pueda perder eso cuando este es el propósito de estas aplicaciones. – revolutionary

+1

Aprobaron el juego falso "Counter Strike" al menos dos veces. Así que sí, creo que también podrían perderse eso. – Adam

Cuestiones relacionadas