2012-12-24 76 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控制音樂庫音量。我試圖控制通話的音量。他們不是一個,他們是一樣的嗎? –

相關問題