ios耳機線控 關於“remoteControlReceivedWithEvent”不執行的問題

來源:互聯網
上載者:User

首先轉載幾篇技術文章,以做記錄

iOS開發系列--觸摸事件、手勢識別、搖晃事件、耳機線控 http://www.cnblogs.com/kenshincui/p/3950646.html

iOS架構研究 之 UIResponder 可以接收事件的對象(一)

http://blog.csdn.net/maojudong/article/details/7798138

ios 耳機線控 http://blog.csdn.net/slinloss/article/details/18085145

下邊開始

具體實現上邊轉載的3篇文章中有,可自行參考

關於remoteControlReceivedWithEvent方法不執行的問題:

1.啟用遠程事件接收(使用[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];方法)。

2.對於UI控制項同樣要求必須是第一響應者(對於視圖控制器UIViewController或者應用程式UIApplication對象監聽無此要求)。

3.應用程式必須是當前音訊控制者,也就是在iOS 7中通知欄中當前音頻播放程式必須是我們自己開發程式。

前兩條不多說,主要講第三條,我將上述“ios 耳機線控”這篇文章中的代碼寫在了

AppDelegate方法中,但是卻怎麼也不執行remoteControlReceivedWithEvent方法(註:這個方法只有耳機中間那個鍵才可以觸發),最後加了一段音頻播放代碼,即:

NSString *string = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp3"];

    //把音頻檔案轉換成url格式

    NSURL *url = [NSURL fileURLWithPath:string];

    //初始化音頻類 並且添加播放檔案

    self.avAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];

//預播放

         [_avAudioPlayer prepareToPlay]; 後,再按耳機的中間鍵時,才觸發 remoteControlReceivedWithEvent方法。

如果有的同學說不想用耳機控制播放音頻,想控制相機拍照,我的方案是可以放一個空的音頻檔案,將remoteControlReceivedWithEvent方法觸發後,再寫入自己自訂的方法。(這裡不想用耳機控制播放音頻,而是實現控制其它自訂的方法,如果大家有別的方案,可以留言共用,共同學習)



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.