码迷,mamicode.com
首页 > 其他好文 > 详细

耳机线控

时间:2015-07-18 10:48:25      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

当然你的程序不一定是播放器应用,但是我们仍然可以让它具有这个功能,让用户通过耳机进行一些比较简单常用的操作,这样是不是很酷呢?
具体的怎么实现呢?废话不多说,我们直奔主题:
1,允许接受Remote事件

[self becomeFirstResponder];

2,处理输入事件:

 

- (void) remoteControlReceivedWithEvent: (UIEvent *) receivedEvent {

if (receivedEvent.type == UIEventTypeRemoteControl)

{

        switch (receivedEvent.subtype) {   

case UIEventSubtypeRemoteControlTogglePlayPause:

//do something

break;

case UIEventSubtypeRemoteControlPreviousTrack:

//do something

break;

case UIEventSubtypeRemoteControlNextTrack:

//do something

break;

            default:

break;

}

}

}

3,在使用完毕的时候停止接受Remote事件

[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
[self resignFirstResponder];

4,附上完整的事件类型代码,供大家使用

 

typedef enum {

 

 UIEventSubtypeMotionShake = 1,

 UIEventSubtypeRemoteControlPlay = 100,

UIEventSubtypeRemoteControlStop = 102,

UIEventSubtypeRemoteControlNextTrack = 104,

UIEventSubtypeRemoteControlBeginSeekingBackward = 106,

UIEventSubtypeRemoteControlBeginSeekingForward = 108,

} UIEventSubtype;

补充,转载:

最近发现也有人在坛子里发帖求获取ios耳机线控事件,下面给大家分享一下代码,



-(BOOL)canBecomeFirstResponder{
    NSLog(@"_____%s_____",__FUNCTION__);
    return YES;
}


//received remote event
-(void)remoteControlReceivedWithEvent:(UIEvent *)event{
    NSLog(@"event tyipe:::%d   subtype:::%d",event.type,event.subtype);
    //type==2  subtype==单击暂停键:103,双击暂停键104
    if (event.type == UIEventTypeRemoteControl) {
        switch (event.subtype) {

            case UIEventSubtypeRemoteControlPlay:{
                NSLog(@"play---------");
            }break;
            case UIEventSubtypeRemoteControlPause:{
                NSLog(@"Pause---------");
            }break;
            case UIEventSubtypeRemoteControlStop:{
                NSLog(@"Stop---------");
            }break;
            case UIEventSubtypeRemoteControlTogglePlayPause:{
                //单击暂停键:103
                NSLog(@"单击暂停键:103");
            }break;
            case UIEventSubtypeRemoteControlNextTrack:{
                //双击暂停键:104
                NSLog(@"双击暂停键:104");
            }break;
            case UIEventSubtypeRemoteControlPreviousTrack:{
                NSLog(@"三击暂停键:105");
            }break;
            case UIEventSubtypeRemoteControlBeginSeekingForward:{
                NSLog(@"单击,再按下不放:108");
            }break;
            case UIEventSubtypeRemoteControlEndSeekingForward:{
                NSLog(@"单击,再按下不放,松开时:109");
            }break;
            default:
                break;
        }
    }
}


把上面代码加进去就能获取耳机线控的各个点击事件,嘀嘀打车之前版本中有一个耳机抢单的功能,就是这么实现的

 

原文网址: http://blog.csdn.net/slinloss/article/details/18085145

 

耳机线控

标签:

原文地址:http://www.cnblogs.com/Cheetah-yang/p/4656232.html

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