使用UIslider控制iPhone音量?

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; }

}

1个回答

3

Hemant,

player.volume 等于 1.0 时(同时铃声音量也处于最大值),您可以拥有的最大音量。

如果铃声音量不是最大值,您只能使用 1.0 的值。

但是,您可以实现 MPVolumeView(我几乎确定,因为 Pandora 就是这样做的),然后在应用程序中使用该滑块。然后,您可以始终将 player.volume 设置为 1.0,并让滑块更改铃声音量。

如果您想要使用 MPVolumeView,请查看以下链接获取更多信息:http://developer.apple.com/iphone/library/documentation/MediaPlayer/Reference/MPVolumeView_Class/Reference/Reference.htmlHow do you implement an MPVolumeView?

我可能错了,但我认为如果您按原样使用 MPVolumeView,Apple 是允许的。他们在类参考中说,当您移动滑块时,它现在会更改设备的铃声音量(以前它不会这样做,这就是为什么人们必须访问私有 API)。我将在下一次更新中尝试实现它,在一周内,如果我被拒绝了,我会回来更新此帖子,让每个人都知道。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接