【问题标题】:Is it possible to change system volume with UIButton instances?是否可以使用 UIButton 实例更改系统音量?
【发布时间】:2012-12-24 03:48:13
【问题描述】:

我试图避免使用 MPVolumeView,因为它没有为自定义提供太多余地。基本上,我想实现一个音量控制,让用户提前设置呼叫者的音量。这就是那个屏幕看起来像:

我想使用 UIButton 来创建增加和减少音量按钮,我正在考虑在 IB 中实现这样的目标动作机制:

- (IBAction)increaseVolume:(id)sender
{
    [someVolumeObject setVolume:[systemVolume volume] + 1];
}

- (IBAction)decreaseVolume:(id)sender
{
    [someVolumeObject setVolume:[systemVolume volume] - 1];
}

有谁知道是否有一个类可以让我提取系统卷元素并以这种方式增加它们(基本上不必使用 MPVolumeView)?

【问题讨论】:

    标签: ios volume


    【解决方案1】:

    试试这样,

    1.定义属性并合成到你的MPMusicPlayerController对象,

    @property (nonatomic, retain) MPMusicPlayerController *musicPlayer;
    @synthesize musicPlayer;
    

    2.取一个浮点变量为,

       float volume_control=0;
    

    3.在 viewDidLoad 方法中使用 NSNotification 来改变音量,

    self.musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
    NSNotificationCenter* notificationCenter = [NSNotificationCenter defaultCenter];
        [notificationCenter addObserver:self 
                           selector:@selector(handleExternalVolumeChanged:)
                               name:MPMusicPlayerControllerVolumeDidChangeNotification 
                             object:self.musicPlayer];
    [self.musicPlayer beginGeneratingPlaybackNotifications];
    

    4.define Method for handleExternalVolumeChanged: as,

    - (void)handleExternalVolumeChanged:(id)notification {
      volume_control = self.musicPlayer.volume;
    }
    

    5.现在定义您的音量控制按钮来增加/减少音量,

    -(IBAction)decrease_volume:(id)sender{
      if (volume_control>0) {
          self.musicPlayer.volume =self.musicPlayer.volume-0.1;  
          volume_control-=0.1;
          }
       }
     -(IBAction)increase_volume:(id)sender{
        if (volume_control<1) {
        self.musicPlayer.volume =self.musicPlayer.volume+0.1;  
        volume_control+=0.1;
       }
      }
    

    希望对你有帮助..

    【讨论】:

    • MPMusicPlayerController 控制音乐库的音量。我正在尝试控制通话音量。它们不是一个,它们是一样的吗?
    猜你喜欢
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    • 2014-12-29
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多