關於音訊焦點和音訊競爭通道的問題

2021-07-11 16:38:27 字數 884 閱讀 2080

import android.media.audiomanager;

audiomanager am = (audiomanager) this.getsystemservice(context.audio_service)

申請的時候:

am.requestaudiofocus(null, audiomanager.stream_music, audiomanager.audiofocus_gain);

其中第乙個引數是audiomanager.onaudiofocuschangelistener,每當音訊焦點有變動的時候其onaudiofocuschange()方法被呼叫。如果不需要監聽,就是null 。第二個引數是streamtype,指音訊的型別,可取為stream_voice_call(通話)、stream_system(系統聲音)、stream_ring(鈴聲)、stream_music(**)、stream_alarm(鬧鈴聲),這裡取的是**。第三個引數durationhint,是持續性的指示: audiofocus_gain

指示申請得到的audio focus不知道會持續多久,一般是長期占有;audiofocus_gain_transient

指示要申請的audiofocus是暫時性的,會很快用完釋放的;audiofocus_gain_transient_may_duck

釋放的時候:

am.abandonaudiofocus(null);

通過這個方法來歸還音訊。引數就是獲取焦點時註冊的監聽,也就是requestaudiofocus時的第乙個引數,如果沒有監聽,就是null .

import android.media.audiomanager.onaudiofocuschangelistener;

捕獲和丟棄音訊焦點詳細講解

目錄介紹 如果覺得好,可以star一下,謝謝!當然也歡迎提出建議,萬事起於忽微,量變引起質變!部落格大彙總,持續更新目錄說明,記錄所有開源專案和部落格 1.1 發現問題說明 別矇圈,這個就叫做音訊捕獲和丟棄焦點。至於如何處理,可以看我的原始碼案例 還可以看我的部落格,瀟湘劍雨,部落格大彙總 1.2 ...

關於linux的音訊驅動

為了實現 sep4020 上完成了 i2s的驅動,主要經驗總結如下 1.首先是要在 probe 函式裡進行一系列的初始化,這些初始化對於 i2s是很重要的,而且很多 配置操作 codec的l3 的gpio 口線 l3介面相對於乙個混音器控制介面,也就是對應在驅動中的 mixer 結構體,在這裡我們需...

關於linux的音訊驅動

1.首先是要在probe函式裡進行一系列的初始化,這些初始化對於i2s是很重要的,而且很多 配置操作codec的l3的gpio口線 l3介面相對於乙個混音器控制介面,也就是對應在驅動中的mixer結構體,在這裡我們需要利用3根gpio口線實現對l3的控制,以下是初始化 volatile unsign...