2010-07-08 42 views
5

我正在创建一个应用程序,在按下按钮时使用可以调整音量的UISlider播放声音。有时甚至在将iphone的音量增加到音量之后,音量太高,有时甚至太低full.How我可以保持音量始终高?任何可能的方式来集成系统音量与滑块音量?使用MPVolumview会得到我的应用程序被拒绝我想.. 我使用的触摸按钮的代码是这样使用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; } 

}

回答

3

与Hemant,

你所能拥有的最大音量是当player.volume是等于1.0(只要铃声音量也是最大的)。

如果铃声音量不是最大,你只能去高达不管它是在再次使用的1.0

但是值,就可以实现MPVolumeView(我几乎可以肯定,作为潘多拉做到了),然后在你的应用中使用该滑块。然后,您可以将player.volume设置为始终等于1.0,然后让滑块更改铃声音量。 http://developer.apple.com/iphone/library/documentation/MediaPlayer/Reference/MPVolumeView_Class/Reference/Reference.htmlHow do you implement an MPVolumeView?

我可能是错的,但我认为苹果允许MPVolumeView如果你用它作为-是:如果你想使用MPVolumeView

更多信息。他们在课程参考中说,当你移动滑块时(它不习惯这种滑块,这就是人们不得不访问私有API的原因),它现在改变了设备铃声音量。我将在一周内尝试在我的下一次更新中实施它,所以如果我被拒绝,我会回到这里并更新此帖以让每个人都知道。