2010-07-08 13 views
5

Je crée une application dans laquelle le son est joué quand on appuie sur un bouton et en utilisant un UISlider avec lequel on peut régler le volume. Parfois le volume du son est trop élevé et parfois trop bas même après avoir augmenté le volume de l'iphone full.Comment puis-je garder le volume toujours élevé? un moyen possible d'intégrer le volume du système avec le volume du curseur ?? L'utilisation MPVolumview va obtenir mon application a rejeté je suppose .. le code que je suis en utilisant le bouton tactile est ceContrôle du volume en utilisant 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; } 

}

Répondre

3

Hemant,

Le volume maximal que vous pouvez avoir est quand player.volume est égal à 1.0 (tant que le volume de la sonnerie est aussi maximal).

Si le volume de la sonnerie n'est pas au maximum, vous ne pouvez aller aussi haut que quoi que ce soit à de nouveau en utilisant la valeur de 1.0

Cependant, vous pouvez mettre en œuvre la MPVolumeView (je suis presque, comme Pandora le fait) et ensuite vous utilisez ce curseur dans votre application à la place. Ensuite, vous pouvez simplement définir player.volume toujours égal à 1.0 et laisser le curseur changer le volume de la sonnerie.

Plus d'informations sur si vous souhaitez utiliser MPVolumeView: http://developer.apple.com/iphone/library/documentation/MediaPlayer/Reference/MPVolumeView_Class/Reference/Reference.html et How do you implement an MPVolumeView?

Je peux me tromper, mais je pense que Apple permet MPVolumeView si vous l'utilisez en l'état. Ils disent dans la référence de la classe qu'il modifie maintenant le volume de la sonnerie de l'appareil lorsque vous déplacez le curseur (ce qui n'était pas habituel et c'est pourquoi les gens devaient accéder à l'API privée pour le faire). Je vais essayer de l'implémenter lors de ma prochaine mise à jour ici dans une semaine, donc si je suis rejeté, je reviendrai ici et mettrai à jour cet article pour que tout le monde le sache.