5作為前奏結(jié)束時間,該前奏結(jié)束時間對應(yīng)的音樂作為前奏結(jié)束點。否則,要繼續(xù)檢測下個時間段內(nèi)波形的變化情況,直到檢測出某個時間段內(nèi)波形幅值過零的次數(shù)小于第二預(yù)設(shè)值。其中該第二預(yù)設(shè)值可任意設(shè)置,例如可設(shè)置為4。
[0074]當然,在上述例子的基礎(chǔ)上,如果在[t2,t2+5]這個時間段內(nèi)檢測到波形幅值過零的次數(shù)小于第二預(yù)設(shè)值,為了進一步保證確定的前奏結(jié)束時間的準確性,可接著在下個單位時間段內(nèi)進行檢測。例如,在[t2+5,t2+10]這個時間段內(nèi),如果波形幅值過零的次數(shù)小于第二預(yù)設(shè)值,那么即可確定t2或t2+5這個時間可以作為前奏結(jié)束時間,該前奏結(jié)束時間對應(yīng)的音樂作為前奏結(jié)束點。
[0075]那么,對于當前播放歌曲來說,可將從播放開始時間到前奏結(jié)束時間這個時間段內(nèi)的音樂作為前奏音樂。
[0076]步驟26、從所述前奏結(jié)束點開始播放所述下一首歌曲。
[0077]在確定了前奏結(jié)束時間點后,即可確定出前奏音樂的時長。即用前奏結(jié)束時間點對應(yīng)的播放時間減去播放開始時間即為前奏音樂的時長。
[0078]例如,根據(jù)步驟25中的描述,假設(shè)在[t2,t2+5]這個時間段內(nèi)檢測到波形幅值過零的次數(shù)小于第二預(yù)設(shè)值,將t2+5作為前奏結(jié)束時間,而該歌曲的播放時間為t2,那么前奏音樂的時長為5秒。也就是說,在該下一歌曲的播放過程中,對于整個時長的下一歌曲來講,前5秒時長的音樂將會被跳過,而從第5秒開始播放下一首歌曲。
[0079]在本發(fā)明實施例中,當確定了當前歌曲的尾奏開始點或者下一歌曲的前奏結(jié)束點后,還可以將尾奏開始點或者前奏結(jié)束點的信息進行存儲。具體的,可以將尾奏開始點對應(yīng)的音樂在整個歌曲里的相對播放時間進行存儲。例如,整個音樂播放時長為3分54秒,第3分I秒對應(yīng)的音樂即是尾奏開始點,那么當歌曲播放了 3分I秒后,即可進行歌曲切換操作。那么,在此可存儲該“3分I秒”的信息。
[0080]需要注意的是,在本發(fā)明實施例中,當從頭開始播放當前歌曲時,還可首先根據(jù)用戶的歌曲切換指令跳過當前歌曲的前奏部分,然后,在當前歌曲的播放過程中再根據(jù)用戶的歌曲切換指令跳過當前歌曲的尾奏部分。也就是說,步驟22-24和步驟25-26的執(zhí)行順序并無特殊規(guī)定。不同的是,如果是按照在此描述的先跳過當前歌曲的前奏部分再跳過當前歌曲的尾奏部分,那么對于跳過前奏部分的切換仍是在當前歌曲中進行的。其中,根據(jù)用戶的歌曲切換指令跳過當前歌曲的前奏部分和根據(jù)用戶的歌曲切換指令跳過當前歌曲的尾奏部分的實現(xiàn)過程可參照前述相應(yīng)的描述。
[0081]由上可以看出,在本發(fā)明實施例中,當接收到用戶的歌曲切換指令后,可根據(jù)該歌曲切換指令確定當前歌曲的尾奏開始點,從而直接從尾奏開始點開始將當前歌曲切換到下一歌曲。由此可以看出,利用本發(fā)明實施例的方案實現(xiàn)簡單,從而避免了現(xiàn)有技術(shù)中需要用戶手動切換歌曲而帶來的不便,因而,利用本發(fā)明實施例的方案簡化了歌曲切換操作,提高了用戶體驗。
[0082]如圖3所示,本發(fā)明實施例三的音樂切換裝置,包括:
[0083]接收單元31,用于接收用戶的歌曲切換指令;獲取單元32,用于根據(jù)所述歌曲切換指令獲取當前歌曲的播放結(jié)束時間以及在接收到所述歌曲切換指令時所述當前歌曲的當前播放時間;確定單元33,用于在從所述當前播放時間開始到所述播放結(jié)束時間的這一時間段內(nèi),確定所述當前歌曲的尾奏開始點;切換單元34,用于在所述尾奏開始點將所述當前歌曲切換到下一歌曲。
[0084]其中,所述獲取單元32包括:第一獲取模塊,用于根據(jù)所述歌曲切換指令從預(yù)先存儲的歌曲信息中獲取所述當前歌曲的播放開始時間以及所述當前歌曲的播放時長,將接收所述歌曲切換指令的時間作為所述當前播放時間;第二獲取模塊,用于將所述當前歌曲的播放開始時間以及所述當前歌曲的播放時長相加獲得所述當前歌曲的播放結(jié)束時間。
[0085]其中,所述確定單元33包括:第一檢測模塊,用于檢測所述當前歌曲在播放過程中產(chǎn)生的波形;第一確定模塊,用于從所述當前播放時間開始,若在第一預(yù)設(shè)時間段內(nèi)所述波形幅值的過零次數(shù)超過第一預(yù)設(shè)值,則將所述第一預(yù)設(shè)時間段內(nèi)的任意時間所對應(yīng)的音樂作為尾奏開始點。
[0086]此外,為了進一步提高用戶體驗,所述獲取單元32還用于:獲取所述下一首歌曲的前奏結(jié)束點;此時,所述切換單元34還用于從所述前奏結(jié)束點開始播放所述下一首歌曲。此時,所述確定單元33可包括:第二獲取模塊,用于獲取所述下一歌曲的播放開始時間;第二檢測模塊,用于從所述下一歌曲的播放開始時間開始,檢測所述下一歌曲在播放過程中產(chǎn)生的波形;第二確定模塊,用于從所述播放開始時間開始,若在第二預(yù)設(shè)時間段內(nèi)所述波形幅值的過零次數(shù)小于第二預(yù)設(shè)值,則將所述第二預(yù)設(shè)時間段內(nèi)的任意時間所對應(yīng)的音樂作為所述前奏結(jié)束點。
[0087]其中,本發(fā)明實施例的工作原理可參照前述方法實施例的描述。
[0088]由上可以看出,在本發(fā)明實施例中,當接收到用戶的歌曲切換指令后,可根據(jù)該歌曲切換指令確定當前歌曲的尾奏開始點,從而直接從尾奏開始點開始將當前歌曲切換到下一歌曲。由此可以看出,利用本發(fā)明實施例的方案實現(xiàn)簡單,從而避免了現(xiàn)有技術(shù)中需要用戶手動切換歌曲而帶來的不便,因而,利用本發(fā)明實施例的方案簡化了歌曲切換操作,提高了用戶體驗。
[0089]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0090]本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0091]在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認為是用于實現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實現(xiàn)在任何計算機可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計算機的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,〃計算機可讀介質(zhì)"可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使