1. 程式人生 > >iOS 繼續播放或暫時其他app的背景音樂

iOS 繼續播放或暫時其他app的背景音樂

問題:當我們自己開發的應用要使用AVAudioSession時,可能會中斷其它應用的音樂播放,例如:QQ音樂,酷我音樂等?

解決方案:當我們自己開發的應用播放時,暫停其他應用的播放,當我們的應用播放完畢時,繼續其他應用的播放,實現程式碼如下

#import "VLAudioSessionControl.h"
#import <AVFoundation/AVFoundation.h>

@implementation VLAudioSessionControl

/*
 * 繼續播放後臺背景音樂, 取消啟用當前應用的audio session
 * @param error 設定失敗時的錯誤資訊
 **/
+ (void)resumeBackgroundSoundWithError:(NSError **)error {
    //Deactivate audio session in current app
    //Activate audio session in others' app depending on wether they listen to the Category changed
    //See here https://developer.apple.com/library/content/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/AudioGuidelinesByAppType/AudioGuidelinesByAppType.html#//apple_ref/doc/uid/TP40007875-CH11-SW1
    
    [[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:error];
}

/*
 * 暫停後臺背景音樂的播放,啟用當前應用的audio
 * @param error 設定失敗時的錯誤資訊
 **/
+ (void)pauseBackgroundSoundWithError:(NSError **)error {
    
    //See here https://developer.apple.com/library/content/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/ConfiguringanAudioSession/ConfiguringanAudioSession.html#//apple_ref/doc/uid/TP40007875-CH2-SW1
    
    AVAudioSession *session = [AVAudioSession sharedInstance];
    //Set AVAudioSessionCategoryPlayback category mode for current app
    [session setCategory:AVAudioSessionCategoryPlayback error:error];
    //Activate audio session in current app
    //Deactivate audio session in others' app
    [session setActive:YES error:error];
}

+ (void)pauseBackgroundSoundWithCategoryRecord {
    AVAudioSession *session = [AVAudioSession sharedInstance];
    [session setCategory:AVAudioSessionCategoryRecord error:nil];
    [session setActive:YES error:nil];
}

@end


請注意:

1.Category的選擇,取決於在你啟用你的應用的audio session時,下一步要錄音還是播放,如果錄音的話,一定要設定category為AVAudioSessionCategoryRecord

如果是播放,那就設定AVAudioSessionCategoryPlayback

2.如果你準備要錄音,而你設定成了AVAudioSessionCategoryPlayback你可以會得到一個意想不到的的結果Unexpected error or warning


相關推薦

iOS 繼續播放暫時其他app背景音樂

問題:當我們自己開發的應用要使用AVAudioSession時,可能會中斷其它應用的音樂播放,例如:QQ音樂,酷我音樂等? 解決方案:當我們自己開發的應用播放時,暫停其他應用的播放,當我們的應用播放

iOS 10跳轉到其他app

取消 and self LEDE har .com shared available else - (BOOL)jumpsToThirdAPP:(NSString *)urlStr{ if ([urlStr hasPrefix:@"mqq"] ||

iOS上視訊剪輯片段和新增背景音樂

最近在研究剪輯視訊,目前知道了怎麼剪輯視訊片段和新增背景音樂,不多說了,程式碼寫的很清楚,如下: 1 新增背景音樂呼叫 [PSJVideoEditor cropWithVideoUrlStr:_videoUrl audioUrl:_audioUrl start:

iOS 語音類App播放自己的錄音完畢後,如何重新繼續播放音樂

 前一篇文章講述了,iOS平臺如何錄音,以及如何播放錄音,也就是回放錄音。那麼,如果在你播放你的錄音之前,已經有音樂類的App在後臺正在播放音樂,這個時候一般的做法是先暫停音樂播放---->播放你自己的錄音---->繼續播放後臺的音樂。 其實,方法也比較簡單,就

[ios] 如何調用其他app h5界面調用打開app

nss build 一個 baidu shared detail view query 信息 參考資料:app喚醒app      h5喚醒app     有趣的URL Scheme 被喚起端需要做的工作(demoApp): 1.設置URL Scheme 只是一個ap

背景音樂自動播放,兼容ios

ont 背景音樂 get play tro mco code cti rem 背景音樂自動播放,兼容ios <audio id="myAudio" autoplay loop> <source src=" bgMusic.mp3" type="a

解決ios系統下微信頁面無法播放背景音樂的問題

1.問題現象 做h5頁面時需要插入一段背景音樂,在安卓系統微信裡開啟可以正常播放。但是在ios系統的微信裡開啟頁面聽不到聲音。 2.解決辦法 呼叫微信自帶的WeixinJSBridgeReady事件(WeixinJSBridge只能在微信內開啟的網頁有效)。 3.html程式碼展示

IOS微信瀏覽器無法自動播放背景音樂的解決辦法

IOS系統為了節省使用者的流量,禁止了audio標籤的自動播放,所以在蘋果手機上H5的audio標籤不能自動播放,目前我只找到了微信瀏覽器上的解決辦法。 <body> <audio id="bgmusic" src="audio/9282.wav"

鎖屏按Home鍵後繼續播放音樂

參考 一般聽音樂的app在鎖屏狀態和按home鍵後都能繼續播放音樂,有些強大的甚至在來簡訊後能夠繼續播放,不被中斷,比如:百度ting。本文主要介紹鎖屏和按home鍵後仍播放音樂實現。 主要依靠“音訊會話”(AVAudioSession)來實現。詳細關於AVAudio

IOS開發之新增第三方lib其他工程引入lib時的連結錯誤:ld: symbol(s) not found for architecture i386

首先要確保正確的新增步驟 1)拷貝到新project目錄下 2)新增到工程裡 3)在新工程的targets->Build Phases->target dependencies 點選+ 新增lib 3) 在新工程的targets->Summary->

android暫停停止其他音樂播放器的播放

今天在csdn上有問這個問題就研究下,正好自己的專案也需要用到,順便做個記錄。 來自android自帶的music原始碼,下面是廣播接收的程式碼,通過傳送廣播來控制音樂的播放,停止等。 程式碼如下: public static final String PLAYST

背景音樂的自動播放(相容 ios 和 android)

ios 為了節省使用者流量,對於 audio 和 video標籤的 preload 和 autopaly 標籤 會自動攔截, 除非使用者手動點選 互動才會執行 。   但是對於背景音樂,又必須載入的時候就要執行,怎麼辦,直接呼叫js 來自動觸發。 <audio id=

修改SearchView搜尋框的背景線.(其他屬性)

今天是來移動的第二天,雨好大... 專案經理讓我修改一下android4.2.2日曆中的SearchView. 要求去掉當SearchView得到焦點時候出現的藍色背景線. 怎麼說呢,很苦惱,基本沒看過原始碼.而且android studio用的還不是太溜,電腦也卡才4G

IOS監測其他APP是否開啟的思路

原地址:http://www.hudongdong.com/talk/369.html 之所以寫這篇文章是因為碰到一個問題,因為最近要做一個app去鼓勵使用者下載其他的app,所以需要我們去監測使用者是否下載了指定的軟體並且執行試玩了,重點就是我們的軟體在使用者點選去a

【Android/IOS】停止、恢復 背景音樂播放

在玩遊戲過程中將遊戲靜音後,可以播放後臺背景音樂。取消靜音播放遊戲音樂,暫停後臺背景音樂 Android  /**播

IOS後臺播放音樂

har highlight 播放器 title ges round eas tro ios IOS後臺播放音樂 博客分類: IOS http://www.apple.com.cn/developer/iphone/library/documentation/

MVC 3.0錯誤 HTTP 404您正在查找的資源(或者它的一個依賴項)可能已被移除,其名稱已更改,暫時不可用。請檢查以下 URL 並確保其拼寫正確。

global 路由 eight out 行修改 routes 一個 是你 技術 http://www.cnblogs.com/blues_/p/3360533.html MVC3.0框架開發項目: 有時在程序運行的時候會出現“HTTP 404。您正在查找的資源(或者它的

Django打造在線教育平臺_day_3: 搭建後臺管理系統Xadmin之其他app的數據表註冊

user cli mode lis mob use lds desc gist courses/adminx.py import xadmin from .models import Course, Lesson, Video, CourseResource class

iOS:仿寫探探App動畫

demo ron dem 布局實現 you image 轉場動畫 pan https 一、簡單介紹 探探動畫比較新穎,這也是它在眾多交友軟件中火熱的一個特色。實現這種動畫的方式可以有兩種方式實現: 1、使用轉場動畫實現 2、使用CollectionView自定義布局實現,

IIS 發布之後 您要找的資源已被刪除、已更名暫時不可用。 404.0 解決方法

進行 2.0 應用程序 png ima 刪除 blog mage 正常 步驟一: 如圖,我發布網站後,在應用程序池中看到默認的.NetFreamork是2.0版本的,我把它改為4.0後 重新瀏覽網頁就正常了。 如果還是不行,那麽進行第二步, IIS 發布之後 您要找的