2010-07-08 7 views
5

estoy creando una aplicación en la que se reproduce el sonido cuando se presiona un botón y usando un UISlider con el que se puede ajustar el volumen.A veces el volumen del sonido es demasiado alto y algunas veces es demasiado bajo incluso después de aumentar el volumen del iphone al completo. ¿Cómo puedo mantener el volumen siempre alto? cualquier forma posible de integrar el volumen del sistema con el volumen del control deslizante? Usando MPVolumview obtendrá mi aplicación rechazada supongo .. el código que estoy utilizando el botón táctil es esteControl de volumen usando UIslider Iphone?

NSString* resourcePath = [[NSBundle mainBundle] resourcePath]; 
resourcePath = [resourcePath stringByAppendingString:@"/sound.mp3"]; 
NSLog(@"Path to play: %@", resourcePath); 



player = [[AVAudioPlayer alloc] initWithContentsOfURL: 
      [NSURL fileURLWithPath:resourcePath] error:&err]; 

    player.delegate = self; 
    [player play]; 
    player.volume=.50; 
    player.numberOfLoops=-10; 

-(IBAction)slidervaluechanged 
{ player.volume=slider.value; } 

}

Respuesta

3

Hemant,

El volumen máximo que puede tener es cuando es player.volume igual a 1.0 (siempre que el volumen del timbre sea el máximo posible).

Si el volumen del timbre no está al máximo, sólo se puede ir tan alto como sea lo que sea por al nuevo utilizando el valor de 1.0

Sin embargo, se podría implementar el MPVolumeView (estoy casi seguro, como Pandora lo hace) y luego usas ese control deslizante en tu aplicación. Luego puede configurar player.volume siempre igual a 1.0 y dejar que el control deslizante cambie el volumen del timbre.

Más información sobre si desea utilizar MPVolumeView: http://developer.apple.com/iphone/library/documentation/MediaPlayer/Reference/MPVolumeView_Class/Reference/Reference.html y How do you implement an MPVolumeView?

puedo estar equivocado, pero creo que de Apple permite MPVolumeView si lo usa como está. Dicen en la referencia de clase que ahora cambia el volumen del timbre del dispositivo cuando mueves el control deslizante (que no solía hacerlo y es por eso que las personas tenían que acceder a la API privada para hacerlo). Voy a intentar implementarlo en mi próxima actualización aquí en una semana, así que si me rechazan, volveré aquí y actualizaré esta publicación para que todos lo sepan.

Cuestiones relacionadas