2012-12-24 38 views
0

我试图避免MPVolumeView,因为它没有提供很大的自定义回旋余地。基本上,我想实现一个音量控制,让用户提前设置呼叫者的音量,这就是屏幕是什么将会是什么样:是否可以使用UIButton实例更改系统卷?

enter image description here

我想用UIButton的创建增减音量按钮和我想在IB实现目标的作用机制是这样的:

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

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

有没有人知道是否有一堂课会允许我提取系统体积元素并以这种方式增加它们(基本上不需要使用MPVolumeView)?

回答

1

尝试这样,

1.定义属性和合成你MPMusicPlayerController对象,

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

2.take一个浮点变量,

float volume_control=0; 

3.使用NSNotification在你的viewDidLoad方法如下改变音量,

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

4.define方法:如,

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

5.Now定义你的音量控制按钮增大/减小音量,

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

希望它会帮助你..

+0

MPMusicPlayerController控制音乐库音量。我试图控制通话的音量。他们不是一个,他们是一样的吗? –

相关问题