本發(fā)明涉及音頻控制技術領域,特別是涉及播放音頻中音頻設備插拔檢測方法與系統(tǒng)。
背景技術:
隨著生活水平的提高,越來越多的音頻播放設備與技術應用到實際生產(chǎn)生活中給人們帶來了巨大的便捷,例如目前流行的語音會議、遠程語音聊天以及大型廣播會議。
目前,使用播放器播放音視頻的時候,突然有音頻設備的拔出或插入時,會導致軟件的聲音輸出不正常。如果沒有有效的檢測方法,當有音頻設備拔出時,音頻播放控制系統(tǒng)無法感知已有音頻設備拔出,音頻播放控制系統(tǒng)可能還會向原與該音頻設備連接端口輸出控制指令或音頻數(shù)據(jù),這樣有可能導致無有效音頻播放。例如語音會議中拔出正在播放的音頻設備,當控制系統(tǒng)無法準確檢測到這一情況時會到導致突然沒有聲音,這樣給用戶操作帶來需要不必要的麻煩。
可見,提供一種便捷且有效的播放音頻中音頻設備插拔檢測方法是非常有必要的。
技術實現(xiàn)要素:
基于此,有必要針對目前尚無一種便捷且有效的播放音頻中音頻設備插拔檢測方法問題,提供一種便捷且有效的播放音頻中音頻設備插拔檢測方法與系統(tǒng)。
一種播放音頻中音頻設備插拔檢測方法,包括步驟:
初始化音頻驅(qū)動;
記錄初始已接入音頻設備數(shù)量;
播放已緩存的音頻數(shù)據(jù),并檢測當前接入的音頻設備數(shù)量;
當初始已接入音頻設備數(shù)量等于當前接入的音頻設備數(shù)量時,返回檢測當前接入的音頻設備數(shù)量的步驟;
當初始已接入音頻設備數(shù)量不等于當前接入的音頻設備數(shù)量時,返回初始化音頻驅(qū)動的步驟。
一種播放音頻中音頻設備插拔檢測系統(tǒng),包括:
驅(qū)動初始模塊,用于初始化音頻驅(qū)動;
初始記錄模塊,用于記錄初始已接入音頻設備數(shù)量;
檢測模塊,用于播放已緩存的音頻數(shù)據(jù),并檢測當前接入的音頻設備數(shù)量;
第一處理模塊,用于當初始已接入音頻設備數(shù)量等于當前接入的音頻設備數(shù)量時,控制檢測模塊執(zhí)行檢測當前接入的音頻設備數(shù)量的操作;
第二處理模塊,用于當初始已接入音頻設備數(shù)量不等于當前接入的音頻設備數(shù)量時,控制驅(qū)動初始模塊執(zhí)行初始化音頻驅(qū)動的操作。
本發(fā)明播放音頻中音頻設備插拔檢測方法與系統(tǒng),初始化音頻驅(qū)動,記錄初始已接入音頻設備數(shù)量,播放已緩存的音頻數(shù)據(jù),并檢測當前接入的音頻設備數(shù)量,當初始已接入音頻設備數(shù)量等于當前接入的音頻設備數(shù)量時,返回檢測當前接入的音頻設備數(shù)量的步驟,當不等于時,返回初始化音頻驅(qū)動的步驟。整個過程中,根據(jù)已接入音頻設備數(shù)量變化情況,在播放音頻中準確、便捷且有效檢測是否音頻設備插拔。
附圖說明
圖1為本發(fā)明播放音頻中音頻設備插拔檢測方法第一個實施例的流程示意圖;
圖2為本發(fā)明播放音頻中音頻設備插拔檢測方法第二個實施例的流程示意圖;
圖3為本發(fā)明播放音頻中音頻設備插拔檢測系統(tǒng)第一個實施例的結構示意圖;
圖4為本發(fā)明播放音頻中音頻設備插拔檢測系統(tǒng)第二個實施例的結構示意圖。
具體實施方式
如圖1所示,一種播放音頻中音頻設備插拔檢測方法,包括步驟:
S100:初始化音頻驅(qū)動。
對音頻驅(qū)動進行初始化,以清除緩存區(qū)、重置音頻聲效以及加載預設配置參數(shù)等。對音頻驅(qū)動初始化一方面清除歷史殘留數(shù)據(jù),避免歷史殘留數(shù)據(jù)影響本次音頻數(shù)據(jù)的正常播放;另一方面加載預設的配置參數(shù)為本次音頻播放做好準備。
S200:記錄初始已接入音頻設備數(shù)量。
記錄下初始時刻已接入音頻設備數(shù)量。在這里已接入是指已經(jīng)接入音頻播放系統(tǒng)的音頻設備。以廣播會議為例,假設在一個空間內(nèi)有8個音頻設備(揚聲器),8個音頻設備中有6個是與整個音頻播放系統(tǒng)連接,且能夠正常工作的音頻播放設備,即此時初始已接入音頻設備數(shù)量為6個。
S300:播放已緩存的音頻數(shù)據(jù),并檢測當前接入的音頻設備數(shù)量。
檢測是否緩存有音頻數(shù)據(jù),當緩存有音頻數(shù)據(jù)時,播放已緩存的音頻數(shù)據(jù),并檢測當前接入的音頻設備數(shù)量。非必要的,可以針對不同的音頻設備設置不同的緩存區(qū),檢測是否緩存有音頻數(shù)據(jù)時,基于音頻設備特征查找其對應緩存區(qū)內(nèi)是否有音頻數(shù)據(jù),當其緩存區(qū)有音頻數(shù)據(jù)時,通過該音頻設備播放該已緩存的音頻數(shù)據(jù),當其緩存區(qū)無緩存音頻數(shù)據(jù)時,該音頻設備不播放聲音。在這里,可以采用間隔預設時間(可以每次間隔時間不一樣)或者采用預設周期方式檢測當前接入的音頻設備數(shù)量,例如可以每30秒檢測一次當前接入的音頻設備數(shù)量。
S400:當初始已接入音頻設備數(shù)量等于當前接入的音頻設備數(shù)量時,返回檢測當前接入的音頻設備數(shù)量的步驟。
當初始已接入音頻設備數(shù)量等于當前接入的音頻設備數(shù)量時,表明已接入音頻設備數(shù)量沒有變化,直接返回步驟S300。下面以應用實例展開說明,初始時刻為9點過5分30秒,記錄下此時已接入音頻設備數(shù)量為8個,之后播放已緩存的音頻數(shù)據(jù)——歌曲《歌唱祖國》,間隔30秒后(即9點過6分)檢測當時刻已接入音頻設備數(shù)量依舊為8個,返回檢測當前接入的音頻設備數(shù)量,等待下一次檢測時刻到來再進行類似處理。
S500:當初始已接入音頻設備數(shù)量不等于當前接入的音頻設備數(shù)量時,返回初始化音頻驅(qū)動的步驟。
當初始已接入音頻設備數(shù)量不等于當前接入的音頻設備數(shù)量時,表明已接入音頻設備數(shù)量發(fā)生改變,此時返回步驟S100。下面將繼續(xù)以應用實例展開說明,初始時刻為9點過5分30秒,記錄下此時已接入音頻設備數(shù)量為8個,之后播放已緩存的音頻數(shù)據(jù)——歌曲《歌唱祖國》,若間隔30秒后(即9點過6分)檢測當時刻已接入音頻設備數(shù)量為9個,即已接入音頻設備有增加,此時需返回步驟S100重新初始化音頻驅(qū)動;若間隔30秒后(即9點過6分)檢測當時刻已接入音頻設備數(shù)量為7個,即已接入音頻設備有減少,此時同樣需返回步驟S100重新初始化音頻驅(qū)動。
本發(fā)明播放音頻中音頻設備插拔檢測方法,初始化音頻驅(qū)動,記錄初始已接入音頻設備數(shù)量,播放已緩存的音頻數(shù)據(jù),并檢測當前接入的音頻設備數(shù)量,當初始已接入音頻設備數(shù)量等于當前接入的音頻設備數(shù)量時,返回檢測當前接入的音頻設備數(shù)量的步驟,當不等于時,返回初始化音頻驅(qū)動的步驟。整個過程中,根據(jù)已接入音頻設備數(shù)量變化情況,在播放音頻中準確、便捷且有效檢測是否音頻設備插拔。
在其中一個實施例中,當初始已接入音頻設備數(shù)量不等于當前接入的音頻設備數(shù)量時,返回初始化音頻驅(qū)動的步驟包括:
步驟一:當初始已接入音頻設備數(shù)量大于當前接入的音頻設備數(shù)量時,返回初始化音頻驅(qū)動的步驟。
步驟二:當初始已接入音頻設備數(shù)量小于當前接入的音頻設備數(shù)量時,檢測新接入的音頻設備是否被授權啟用。
步驟三:當被授權啟用時,返回初始化音頻驅(qū)動的步驟。
初始已接入音頻設備數(shù)量不等于當前接入的音頻設備數(shù)量有兩種情況:第一種情況,初始已接入音頻設備數(shù)量大于當前已接入音頻設備(已接入音頻設備數(shù)量減少);第二種情況,初始已接入音頻設備數(shù)量小于當前接入的音頻設備數(shù)量(已接入音頻設備增加)。在某一具體應用實例中,對于已接入音頻設備增加時還需考慮已接入的音頻設備是否為被授權啟用的設備,當其為授權啟用的設備時,才能在后續(xù)操作中使用,當其為未授權啟用的設備(即為“非法”設備)時,則無需考慮其存在。
下面將繼續(xù)以應用實例詳細說明上述實施例,假設在一個空間內(nèi)有8個音頻設備(揚聲器),初始時刻8個音頻設備中有6個是與整個音頻播放系統(tǒng)連接,即初始已接入音頻設備數(shù)量為6,6個音頻設備播放緩存的音頻數(shù)據(jù),30秒后檢測當前時刻已就接入音頻設備量,當當前接入的音頻設備數(shù)量為5個時,重新初始化音頻驅(qū)動;當當前接入的音頻設備數(shù)量為8個時,檢測新接入的2個音頻設備是否被授權啟用,當新接入的2個音頻設備被授權啟用時,重新初始化音頻驅(qū)動,當新接入的2個音頻設備未被授權啟用時,無需考慮該2個已接入的音頻設備,返回檢測當前接入的音頻設備數(shù)量的操作。
在其中一個實施例中,播放已緩存的音頻數(shù)據(jù)的步驟包括:
當與初始已接入音頻設備對應的預設緩存區(qū)緩存有音頻數(shù)據(jù)時,播放已緩存的音頻數(shù)據(jù)。
不同的音頻設備可能具備不同的特性,例如播放音頻頻率不相同、播放聲音大小門限值不相同(輸出功率)以及音頻播放方式不相同等。針對不同的音頻設備可以預先劃設不同的緩存區(qū),將音頻設備與緩存區(qū)的對應關系存儲起來,當與初始已接入音頻設備對應的預設緩存區(qū)緩存有音頻數(shù)據(jù)時,播放已緩存的音頻數(shù)據(jù)。
如圖2所示,在其中一個實施例中,步驟S200之后還包括:
S220:識別初始已接入音頻設備,獲取已接入音頻設備特征,特征包括工作頻率范圍、輸出功率和/或音頻播放方式。
S240:根據(jù)已接入音頻設備特征,對初始已接入音頻設備劃設不同的音頻數(shù)據(jù)緩存區(qū)。
不同的音頻設備可能具備不同的特性,例如播放音頻頻率不相同、播放聲音大小門限值不相同(輸出功率)以及音頻播放方式不相同等。針對不同的音頻設備可以預先劃設不同的緩存區(qū)。例如當前初始已接入音頻設備有3個,分別為音頻設備A工作頻率為X、輸出功率為a、音頻播放方式為普通揚聲器發(fā)聲;音頻設備B工作頻率為Y,輸出功率為b、音頻播放方式為機械模擬振動發(fā)聲;音頻設備C工作頻率為Z,輸出功率為c、音頻播放方式為普通揚聲器發(fā)聲,在整個音頻播放系統(tǒng)中音頻播放數(shù)據(jù)緩存區(qū)劃分為緩存一區(qū)、緩存二區(qū)以及緩存三區(qū),預先劃設緩存一區(qū)為音頻設備A專屬音頻數(shù)據(jù)緩存區(qū),劃設緩存二區(qū)為音頻設備B專屬音頻數(shù)據(jù)緩存區(qū),劃設緩存三區(qū)為音頻設備C專屬音頻數(shù)據(jù)緩存區(qū),當緩存一區(qū)內(nèi)有已緩存的音頻數(shù)據(jù)時,音頻設備A基于該音頻數(shù)據(jù)播放聲音;當緩存二區(qū)內(nèi)有已緩存的音頻數(shù)據(jù)時,音頻設備B基于該音頻數(shù)據(jù)播放聲音;當緩存三區(qū)內(nèi)有已緩存的音頻數(shù)據(jù)時,音頻設備C基于該音頻數(shù)據(jù)播放聲音。在本實施例中,根據(jù)音頻設備特征,對初始已接入音頻設備劃設不同的音頻數(shù)據(jù)緩存區(qū),實現(xiàn)對緩存的音頻數(shù)據(jù)良好管理。
如圖2所示,在其中一個實施例中,步驟S100之后還包括:
S120:調(diào)用音頻驅(qū)動接口,接收外部輸入的音頻數(shù)據(jù)。
調(diào)用音頻驅(qū)動接口,在此接口中接收外部數(shù)據(jù),保存原始音頻數(shù)據(jù),使整個音頻播放系統(tǒng)能播放。
如圖3所示,一種播放音頻中音頻設備插拔檢測系統(tǒng),包括:
驅(qū)動初始模塊100,用于初始化音頻驅(qū)動。
初始記錄模塊200,用于記錄初始已接入音頻設備數(shù)量。
檢測模塊300,用于播放已緩存的音頻數(shù)據(jù),并檢測當前接入的音頻設備數(shù)量。
第一處理模塊400,用于當初始已接入音頻設備數(shù)量等于當前接入的音頻設備數(shù)量時,控制檢測模塊300執(zhí)行檢測當前接入的音頻設備數(shù)量的操作。
第二處理模塊500,用于當初始已接入音頻設備數(shù)量不等于當前接入的音頻設備數(shù)量時,控制驅(qū)動初始模塊100執(zhí)行初始化音頻驅(qū)動的操作。
本發(fā)明播放音頻中音頻設備插拔檢測系統(tǒng),驅(qū)動初始模塊100初始化音頻驅(qū)動,初始記錄模塊200記錄初始已接入音頻設備數(shù)量,檢測模塊300播放已緩存的音頻數(shù)據(jù),并檢測當前接入的音頻設備數(shù)量,當初始已接入音頻設備數(shù)量等于當前接入的音頻設備數(shù)量時,第一處理模塊400控制返回檢測當前接入的音頻設備數(shù)量的步驟,當不等于時,第二處理模塊500控制驅(qū)動初始模塊100執(zhí)行初始化音頻驅(qū)動的操作。整個過程中,根據(jù)已接入音頻設備數(shù)量變化情況,在播放音頻中準確、便捷且有效檢測是否音頻設備插拔。
在其中一個實施例中,第二處理模塊500包括:
第一處理單元,用于當初始已接入音頻設備數(shù)量大于當前接入的音頻設備數(shù)量時,控制驅(qū)動初始模塊100執(zhí)行初始化音頻驅(qū)動的操作。
第二處理單元,用于當初始已接入音頻設備數(shù)量小于當前接入的音頻設備數(shù)量時,檢測新接入的音頻設備是否被授權啟用。
第三處理單元,用于當被授權啟用時,控制驅(qū)動初始模塊100執(zhí)行初始化音頻驅(qū)動的操作。
在其中一個實施例中,檢測模塊300當與初始已接入音頻設備對應的預設緩存區(qū)緩存有音頻數(shù)據(jù)時,播放已緩存的音頻數(shù)據(jù)。
如圖4所示,在其中一個實施例中,播放音頻中音頻設備插拔檢測系統(tǒng)還包括:
設備特征識別模塊220,用于識別初始已接入音頻設備,獲取已接入音頻設備特征,特征包括工作頻率范圍、輸出功率和/或音頻播放方式。
緩存區(qū)劃設模塊240,用于根據(jù)已接入音頻設備特征,對初始已接入音頻設備劃設不同的音頻數(shù)據(jù)緩存區(qū)。
如圖4所示,在其中一個實施例中,播放音頻中音頻設備插拔檢測系統(tǒng)還包括:
音頻數(shù)據(jù)接收模塊120,用于調(diào)用音頻驅(qū)動接口,接收外部輸入的音頻數(shù)據(jù)。
以上實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。