使用UIslider Iphone进行音量控制?

hem*_*ant 5 iphone volume avaudioplayer

我正在创建一个应用程序,当按下按钮时可以播放声音,并使用可以调节音量的UISlider.有时音量太高,有时甚至在将iphone的音量增加到最大之后也会太低.我如何保持音量始终高?任何可能的方法来集成系统音量和滑块音量?使用MPVolumview会让我的应用程序被拒绝我猜...我在按钮触摸时使用的代码就是这个

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; }
Run Code Online (Sandbox Code Playgroud)

}

iwa*_*bed 3

赫曼特,

您可以拥有的最大音量是player.volume等于时1.0(只要铃声音量也一直是最大)。

如果铃声音量不是最大,您只能通过再次使用值将其调高1.0

但是,您可以实现MPVolumeView(我几乎是肯定的,就像潘多拉那样),然后您可以在应用程序中使用该滑块。然后您可以设置player.volume始终等于1.0并让滑块更改铃声音量。

有关是否要使用的更多信息MPVolumeViewhttp://developer.apple.com/iphone/library/documentation/MediaPlayer/Reference/MPVolumeView_Class/Reference/Reference.html以及如何实现 MPVolumeView?

我可能是错的,但我认为苹果允许MPVolumeView如果你按原样使用它。他们在类参考中说,现在当您移动滑块时,它会更改设备铃声音量(它不习惯,这就是为什么人们必须访问私有 API 才能做到这一点)。我将尝试在一周后的下一次更新中实现它,所以如果我被拒绝,我会回到这里并更新这篇文章以让每个人都知道。