【问题标题】:Volume control using UIslider Iphone?使用 UIslider Iphone 控制音量?
【发布时间】:2010-07-08 12:29:06
【问题描述】:

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

}

【问题讨论】:

    标签: iphone avaudioplayer volume


    【解决方案1】:

    赫曼特,

    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?

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2023-04-06
      相关资源
      最近更新 更多