码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 声音按键监听和实现

时间:2015-05-15 19:29:15      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:

首先包含这两个头文件以及加入对应的框架

#import <MediaPlayer/MediaPlayer.h>

#import <AudioToolbox/AudioToolbox.h>

 

添加声音通知的监听

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(volumeChanged:) name:@"AVSystemController_SystemVolumeDidChangeNotification" object:nil];

 

// 获取当前系统音量

 

    self.volume = [[MPMusicPlayerController applicationMusicPlayer] volume];

 

// 判断是否静音

 

 

 

- (BOOL) isMuted

 

{

    

    CFStringRef route;

    

    UInt32 routeSize = sizeof(CFStringRef);

    

    

    

    OSStatus status = AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &routeSize, &route);

    

    if (status == kAudioSessionNoError)

        

    {

        

        if (route == NULL || !CFStringGetLength(route))

            

            return TRUE;

        

    }

    

    

    

    return FALSE;

    

 

}

 

 

// 声音通知监听的实现

- (void) volumeChanged:(NSNotification *) notification

 

{

    // 获取当前声音的值

    float volume =

    

    [[[notification userInfo]

      

      objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"]

     

     floatValue];

//    NSLog(@"现在音量:%f",volume);

    if (!self.isMuted && volume < self.volume && self.acceptBtn.hidden == NO) {

        // 设置音量为静音

        [[MPMusicPlayerController applicationMusicPlayer] setVolume:0.0];

       // 添加系统震动

        AudioServicesRemoveSystemSoundCompletion(kSystemSoundID_Vibrate);

        NSLog(@"----isMuted音量:%f-------",volume);

        

    } else if (volume > self.volume && self.acceptBtn.hidden == NO){

        

        [[MPMusicPlayerController applicationMusicPlayer] setVolume:volume];

        NSLog(@"----!isMuted音量:%f-------",volume);

        

    }

    

    // 更新记录音量值的变量

    self.volume = volume;

    

    

    

    

    

 

}

iOS 声音按键监听和实现

标签:

原文地址:http://www.cnblogs.com/pocket-mood/p/4506546.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!