AVAudio設置APP播放音頻说墨,不影響其他APP音頻

一骏全、事件背景

iOS13版本后臺殺進程厲害,影響用戶體驗尼斧,公司就要求看有沒什么方案能解決姜贡。

二、方案

需要讓APP后臺一直在惫卓茫活楼咳。保活的方案有兩種烛恤。
方案1母怜、在后臺一直播放一段無聲音頻,
方案2缚柏、在后臺實時定位苹熏。

三、決策

考慮到后臺實時定位的方案船惨,只有在用戶開啟的APP的定位權(quán)限才行柜裸。所以否決了方案2,采納方案1粱锐。

四疙挺、實施
  1. 在application: didFinishLaunchingWithOptions:方法中做如下處理
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 防止影響其他APP音頻
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient withOptions:AVAudioSessionCategoryOptionMixWithOthers|AVAudioSessionCategoryOptionDefaultToSpeaker error:nil];
}
  1. 在applicationDidEnterBackground:方法中處理如下:
- (void)applicationDidEnterBackground:(UIApplication *)application {
    
        if (!_audioPlayer) {
            AVAudioSession *session = [AVAudioSession sharedInstance];
            [session setActive:YES error:nil];
            [session setCategory:AVAudioSessionCategoryAmbient error:nil];

            [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
            
            NSString *musicPath=[[NSBundle mainBundle] pathForResource:@"notVoice" ofType:@"mp3"];
            NSURL *url=[[NSURL alloc]initFileURLWithPath:musicPath];
            
            _audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
        }       
        [_audioPlayer prepareToPlay];
        _audioPlayer.numberOfLoops = -1;
        [_audioPlayer play];
}
  1. 在applicationWillEnterForeground方法中暫定音頻播放
- (void)applicationWillEnterForeground:(UIApplication *)application {
    [_audioPlayer stop];
}
五、建議

了解AVAudioSessionCategory各個值的含義

參考文獻

  1. AVAudioSession 的 AVAudioSessionCategory 和 AVAudioSessionCategoryOptions 相關(guān)
  2. iOS - app內(nèi)播放音視頻怜浅,不影響后臺音樂播放
  3. iOS播放完音頻繼續(xù)播放其他APP音頻
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末铐然,一起剝皮案震驚了整個濱河市蔬崩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌搀暑,老刑警劉巖沥阳,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異自点,居然都是意外死亡桐罕,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門桂敛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來功炮,“玉大人,你說我怎么就攤上這事术唬⌒椒” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵粗仓,是天一觀的道長嫁怀。 經(jīng)常有香客問我,道長借浊,這世上最難降的妖魔是什么塘淑? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮蚂斤,結(jié)果婚禮上朴爬,老公的妹妹穿的比我還像新娘。我一直安慰自己橡淆,他們只是感情好召噩,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著逸爵,像睡著了一般具滴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上师倔,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天构韵,我揣著相機與錄音,去河邊找鬼趋艘。 笑死疲恢,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的瓷胧。 我是一名探鬼主播显拳,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼搓萧!你這毒婦竟也來了杂数?” 一聲冷哼從身側(cè)響起宛畦,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎揍移,沒想到半個月后次和,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡那伐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年踏施,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罕邀。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡读规,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出燃少,到底是詐尸還是另有隱情,我是刑警寧澤铃在,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布阵具,位于F島的核電站,受9級特大地震影響定铜,放射性物質(zhì)發(fā)生泄漏阳液。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一揣炕、第九天 我趴在偏房一處隱蔽的房頂上張望帘皿。 院中可真熱鬧,春花似錦畸陡、人聲如沸鹰溜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽曹动。三九已至,卻和暖如春牲览,著一層夾襖步出監(jiān)牢的瞬間墓陈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工第献, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留贡必,地道東北人。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓庸毫,卻偏偏與公主長得像仔拟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子飒赃,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355