2009-03-12 17 views
5

Sé que no puede controlar el volumen del dispositivo desde su aplicación, pero me gustaría que el volumen del dispositivo pueda afectar al UIScrollBar que tengo en mi aplicación para controlar el volumen.iPhone - Presione el botón del dispositivo de captura

Sé que esto es posible porque la aplicación Last.fm lo hace, me gustaría implementar este comportamiento.

Puedo encontrar muy poca información sobre las interwebs. ¿Alguien aquí puede ayudarme tal vez? :)

Respuesta

15

Es fácil con una devolución de llamada oyente

void audioVolumeChangeListenerCallback (void *inUserData, AudioSessionPropertyID inID, UInt32 inDataSize, const void *inData) 
{ 
    RootViewController *controller = (RootViewController *) inUserData; 
    Float32 newGain = *(Float32 *)inData; 
    [controller setGainManual:newGain]; 
} 

que consigue inicializado en viewDidLoad mi punto de vista del controlador de esta manera

AudioSessionAddPropertyListener (kAudioSessionProperty_CurrentHardwareOutputVolume ,audioVolumeChangeListenerCallback, self); 

Esto es todo SDK tienda/Aplicación amable también.

+0

Hacerlo en viewDidLoad es arriesgado ya que su vista puede descargarse si recibe una advertencia de memoria, y se registrará para la devolución de llamada dos veces. –

+0

quiero que esto funcione en segundo plano también. ¿Hay algún método por el cual pueda lograr esto? – Swati

Cuestiones relacionadas