擇的停止播放處理,播放待播放音頻文件。在保證待播放音頻文件播放的同時,有效的對當(dāng)前播放的音頻文件的數(shù)量進(jìn)行控制,進(jìn)而保證了音頻文件播放應(yīng)用的性能。
[0062]進(jìn)一步地,基于上述音頻文件播放控制方法的第六實(shí)施例,提出本發(fā)明音頻文件播放控制方法的第七實(shí)施例。如圖7所示,所述步驟S20可以替換為:
[0063]步驟S40,確定待播放音頻文件對應(yīng)的音頻類型,并確定所述音頻類型當(dāng)前播放的音頻文件的數(shù)量;
[0064]步驟S50,在所述音頻類型當(dāng)前播放的音頻文件的數(shù)量達(dá)到預(yù)先設(shè)置的第二閾值時,根據(jù)預(yù)先配置的音頻類型與播放控制規(guī)則的映射關(guān)系,確定所述待播放音頻文件對應(yīng)的播放控制規(guī)則。
[0065]在本實(shí)施例中,預(yù)先為每一個音頻類型配置一個播放的音頻文件的數(shù)量作為預(yù)先配置的第二閾值,該第二閾值為某個音頻類型當(dāng)前播放的音頻文件的總數(shù)量,可以是10個音頻文件、15個音頻文件等,根據(jù)音頻文件播放設(shè)備的性能來配置及/或根據(jù)用戶預(yù)期來配置。例如,在網(wǎng)絡(luò)游戲中,根據(jù)網(wǎng)絡(luò)游戲的配置,在保證網(wǎng)絡(luò)游戲能高效運(yùn)行的基礎(chǔ)上,配置網(wǎng)絡(luò)游戲中能同時播放的背景音樂的音頻文件的第二閾值。
[0066]在獲取到播放請求對應(yīng)的待播放音頻文件時,確定待播放音頻文件對應(yīng)的音頻類型,并確定所述音頻類型當(dāng)前播放的音頻文件的數(shù)量;
[0067]在所述音頻類型當(dāng)前播放的音頻文件的數(shù)量達(dá)到預(yù)先設(shè)置的第二閾值時,根據(jù)預(yù)先配置的音頻類型與播放控制規(guī)則的映射關(guān)系,確定所述待播放音頻文件對應(yīng)的播放控制規(guī)則;在所述音頻類型當(dāng)前播放的音頻文件的數(shù)量未達(dá)到預(yù)先設(shè)置的第二閾值時,播放所述待播放音頻文件。例如,在網(wǎng)絡(luò)游戲中,若為背景音樂類型預(yù)先配置的第二閾值為5,當(dāng)前播放的背景音樂為5個,則判定所述音頻類型當(dāng)前播放的音頻文件的數(shù)量達(dá)到預(yù)先設(shè)置的第二閾值,需要根據(jù)預(yù)先配置的音頻類型與播放控制規(guī)則的映射關(guān)系,確定所述待播放音頻文件對應(yīng)的播放控制規(guī)則;若預(yù)先為背景音樂類型配置的第二閾值為5,當(dāng)前播放的背景音樂為3個,則判定所述音頻類型當(dāng)前播放的音頻文件的數(shù)量未達(dá)到預(yù)先設(shè)置的第二閾值,直接播放所述待播放音頻文件。
[0068]例如,在斗戰(zhàn)誅天的網(wǎng)絡(luò)游戲中,所有的音頻文件都被編了組,分為背景音樂,界面音效,語音,技能聲音,人物動作聲音,擊中聲音以及腳步聲七個組。背景音樂分配了一個聲道的音頻文件播放閾值,采用淘汰播放最早的音頻文件的播放的控制規(guī)則,這樣每當(dāng)?shù)揭粋€新的場景,就會換上新的背景音樂。界面音效也分配一個聲道,并與背景音樂同樣方式處理。人物的語音分配了三個聲道,因?yàn)橥ǔS迷趽]舞武器時的喊叫,或者受擊之類場合,所以采用了放棄最新發(fā)聲(放棄當(dāng)前待播放音頻文件的播放),讓舊的發(fā)聲發(fā)完,僅當(dāng)空出聲道的時候放入新語音(避免被切斷的喊叫聲之類不自然)。然后動作聲音跟受擊音效也是各分配三個聲道,并采用淘汰最小播放音量的音頻文件的播放的控制規(guī)則,這樣打斗中每一類聲音都不互相干擾,而且不嘈雜。腳步聲也是分配三個聲道,并淘汰最小播放音量的音頻文件的播放。技能音效更加重要,所以分配更多的聲道(五個),并且采用播放最早的音頻文件的播放的控制規(guī)則,即淘汰最舊的音頻文件的播放的控制規(guī)則。按照目前的配置,斗戰(zhàn)誅天總共使用16個聲道,遠(yuǎn)小于flash的發(fā)聲數(shù)全局限制32,最大限度保障整體的聲音效果情況下,穩(wěn)穩(wěn)的控制住了聲音部分的性能開銷。在用戶電腦性能不足的情況下,游戲過程中(監(jiān)測到發(fā)聲導(dǎo)致的掉幀),就動態(tài)的,分散的減少每個組的音頻文件播放的數(shù)量(大于I的組都往下減),在不改變淘汰規(guī)則的情況下,即使是降到一半的整體音頻文件播放的數(shù)量,仍然能保障聲音效果。
[0069]在本發(fā)明其他實(shí)施例中,若預(yù)先為背景音樂類型配置的閾值為5,當(dāng)前播放的背景音樂為3個,所述待播放音頻文件為3個背景音樂,則從中隨機(jī)選擇兩個待播放音頻文件進(jìn)行播放,剩下的一個待播放音頻文件根據(jù)預(yù)先配置的音頻類型與播放控制規(guī)則的映射關(guān)系,確定所述待播放音頻文件對應(yīng)的播放控制規(guī)則,按照確定的播放控制規(guī)則對剩下的待播放音頻文件進(jìn)行播放控制。也可以是提前為每個音頻文件配置播放優(yōu)先級,先播放優(yōu)先級在先的待播放音頻文件,剩下的待播放音頻文件根據(jù)預(yù)先配置的音頻類型與播放控制規(guī)則的映射關(guān)系,確定所述待播放音頻文件對應(yīng)的播放控制規(guī)則,按照確定的播放控制規(guī)則對剩下的待播放音頻文件進(jìn)行播放控制。
[0070]本發(fā)明實(shí)施例通過提前配置各個音頻類型播放的音頻文件的閾值,在音頻類型當(dāng)前播放的音頻文件的數(shù)量達(dá)到閾值時,根據(jù)預(yù)先配置的音頻類型與播放控制規(guī)則的映射關(guān)系,確定所述待播放音頻文件對應(yīng)的播放控制規(guī)則,按照確定的播放控制規(guī)則對剩下的待播放音頻文件進(jìn)行播放控制;在音頻類型當(dāng)前播放的音頻文件的數(shù)量未達(dá)到閾值時,直接播放所述待播放音頻文件。在保證待播放音頻文件播放的同時,有效的對當(dāng)前播放的音頻文件的數(shù)量進(jìn)行控制,進(jìn)而保證了音頻文件播放應(yīng)用的性能。
[0071]上述音頻文件播放控制方法的第一至第七實(shí)施例的音頻文件播放控制方法的執(zhí)行主體均可以為終端。更進(jìn)一步地,該方法可以由安裝在終端上的客戶端(如音頻文件播放控制軟件等)實(shí)現(xiàn),其中,該終端可以包括但不限于筆記本電腦、手機(jī)、平板電腦或者PDA (Personal Digital Assistant,個人數(shù)字助理)等電子設(shè)備。
[0072]進(jìn)一步地,提出本發(fā)明音頻文件播放控制裝置的第一實(shí)施例。如圖8所示,所述音頻文件播放控制裝置包括:獲取模塊10,配置模塊20、處理模塊30及控制模塊40。
[0073]所述獲取模塊10,用于當(dāng)偵測到音頻文件播放請求時,獲取所述播放請求對應(yīng)的待播放音頻文件;
[0074]所述配置模塊20,用于在進(jìn)行音頻文件編輯過程中,預(yù)先為每個音頻文件配置音頻類型,即預(yù)先將待播放音頻文件與一個音頻類型進(jìn)行映射保存,且為每個音頻類型配置一個播放控制規(guī)則,即預(yù)先配置音頻文件與音頻類型的映射關(guān)系,且預(yù)先配置音頻類型與播放控制規(guī)則的映射關(guān)系。配置模塊20預(yù)先為每個音頻文件配置音頻類型及預(yù)先為每個音頻類型配置播放控制規(guī)則的過程可以是:在接收到播放控制規(guī)則配置指令時,確定所述播放控制規(guī)則配置指令對應(yīng)的音頻類型配置文件及播放控制規(guī)則配置文件,其中所述播放控制規(guī)則配置文件包括音頻類型與播放控制規(guī)則的映射關(guān)系,所述播放控制規(guī)則配置文件的格式可以是XML或其他形式,根據(jù)確定的播放控制規(guī)則配置文件配置對應(yīng)音頻類型及音頻類型的播放控制規(guī)則。配置模塊20配置所述播放控制規(guī)則的過程也還可以是:按照音頻類型對各個音頻文件進(jìn)行分組,并將分組后的音頻文件保存在對應(yīng)音頻類型組別的目錄下;在接收到輸入的目錄播放控制規(guī)則配置指令時,確定所述目錄播放控制規(guī)則配置指令對應(yīng)的目錄播放控制規(guī)則配置文件;根據(jù)確定的目錄播放控制規(guī)則配置文件配置對應(yīng)目錄的播放控制規(guī)則。
[0075]為了能更好的體現(xiàn)音頻文件的音效,以及更加合理的控制音頻文件的播放,配置模塊20預(yù)先配置的播放控制規(guī)則可以根據(jù)音頻文件播放環(huán)境、用戶預(yù)期進(jìn)行更新(修改、替換等)。例如,在網(wǎng)絡(luò)游戲中,所述音頻類型包括但不限于背景音樂、界面音樂、語音、技能聲音、人物動作聲音、擊中聲音、腳步聲等類型;在音樂播放中,所述音頻類型包括但不限于背景音樂、和聲聲音、主音等類型。所述播放控制規(guī)則包括但不限于停止最小播放音量的音頻文件的播放、停止最晚播放的音頻文件的播放、停止最早播放的音頻文件的播放、停止待播放音頻文件的播放等。
[0076]當(dāng)偵測到音頻文件播放請求時,獲取模塊10獲取所述播放請求對應(yīng)的待播放音頻文件。例如,在網(wǎng)絡(luò)游戲中,所述待播放音頻文件包括但不限于背景音樂、界面音樂、語音、技能聲音、人物動作聲音、擊中聲音、腳步聲等。
[0077]所述處理模塊30,用于確定待播放音頻文件對應(yīng)的音頻類型,并根據(jù)預(yù)先配置的音頻類型與播放控制規(guī)則的映射關(guān)系,確定所述待播放音頻文件對應(yīng)的播放控制規(guī)則;
[0078]在獲取模塊10獲取到播放請求對應(yīng)的待播放音頻文件時,處理模塊30確定待播放音頻文件對應(yīng)的音頻類型,并根據(jù)預(yù)先配置的音頻類型與播放控制規(guī)則的映射關(guān)系,確定所述待播放音頻文件對應(yīng)的播放控制規(guī)則。例如,若獲取的音頻文件對應(yīng)的音頻類型為背景音樂,則對應(yīng)背景音樂的播放控制規(guī)則配置為停止最晚播放的音頻文件的播放。
[0079]在有多個待播放音頻文件時,處理模塊30確定各個待播放音頻文件對應(yīng)的音頻類型,若確定的音頻類型為一個,則處理模塊30根據(jù)預(yù)先配置的音頻類型與播放控制規(guī)則的映射關(guān)系得到確定的音頻類型對應(yīng)的播放控制規(guī)則,確定的播放控制規(guī)則為所有待播放音頻文件的播放控制規(guī)則;若確定的音頻類型為多個,則處理模塊30根據(jù)預(yù)先配置的音頻類型與播放控制規(guī)則的映射關(guān)系得到各個確定的音頻類型對應(yīng)的播放控制規(guī)則。
[0080]在本實(shí)施例中,優(yōu)選為提前為每個音頻類型配置一個不同的播放控制規(guī)則。例如,在網(wǎng)絡(luò)游戲中,存在背景音樂、界面音樂、語音。預(yù)先為背景音樂配置的播放控制規(guī)則為停止最早播放的音頻文件的播放,預(yù)先為界面音樂配置的播放控制規(guī)則為停止播放音量最小的音頻文件的播放,預(yù)先為語音配置的播放控制規(guī)則為放棄最新音頻文件的播放。若獲取的待播放音頻文件對應(yīng)的音頻類型為背景音樂時,則確定的播放控制規(guī)則為停止最早播放的音頻文件的播放;若獲取的待播放音頻文件對應(yīng)的音頻類型為界面音樂時,則確定的播放控制規(guī)則為停止播放音量最小的音頻文件的播放。在本發(fā)明其他實(shí)施例中,也可以是兩個或者更多的音頻類型同時對應(yīng)一個播放控制規(guī)則,即預(yù)先配置的音頻類型與播放控制規(guī)則的映射關(guān)系可以是多個音頻類型同時映射一個播放控制規(guī)則。例如,背景音樂和界面音樂均對應(yīng)停止最早播放的音頻文件的播放這個音頻文件播放控制規(guī)則。
[0081]所述控制模塊40,用于按照確定的播放控制規(guī)則控制所述待播放音頻文件的播放。
[0082]在處理模塊30確定所述待播放音頻文件對應(yīng)的播放控制規(guī)則時,控制模塊40按照確定的播放控制規(guī)則控制所述待播放音頻文件的播放。若所述待播放音頻文件為一個音頻文件時,則處理模塊30根據(jù)所述待播放音頻文件的類型,確定播放控制規(guī)則,控制模塊40按照確定的播放控制規(guī)則控制所述待播放音頻文件的播放;若所述待播放音頻文件為多個音頻文件,且多個音頻文件的音頻類型為同一個音頻類型,則處理模塊30根據(jù)所述待播放音頻文件的類型,確定播放控制規(guī)則,控制模塊40按照確定的播放控制規(guī)則控制所述待播放音頻文件的播放。例如,若確定的播放控制規(guī)則為放棄最新音頻文件的播放,則按照放棄最新音頻文件的播放的控制規(guī)則控制所述待播放音頻文件的播放。
[0083]若所述待播放音頻文件