5

我正在创建一个应用程序,其中按下按钮时播放声音并使用可以调节音量的 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; }

}

4

1 回答 1

3

赫曼特,

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

如果铃声音量没有达到最大值,您只能通过再次使用1.0

但是,您可以实现MPVolumeView(我几乎是肯定的,正如 Pandora 所做的那样),然后在您的应用程序中使用该滑块。然后你可以设置player.volume总是等于1.0并让滑块改变铃声音量。

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

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

于 2010-07-08T14:08:39.483 回答