本發明涉及多媒體播放技術領域,尤其涉及一種多媒體同步播放方法、裝置、終端及系統。
背景技術:
多個播放設備(比如手機、電腦、音箱、各類播放器等)通過有線或無線網絡技術連接,組成一個多媒體同步播放系統,同步播放相同的音頻、視頻或圖片,已得到廣泛的應用。
現有技術中,對實現同步播放的多個播放設備,一般在緩存的過程中對已緩存的媒體數據進行播放。當播放設備中的緩存數據量溢出時,關閉數據緩存,使數據來源設備立即停止向播放設備傳輸媒體數據,以使播放設備的緩存空間立即停止緩存。當播放設備中的緩存數據量耗盡時,開啟數據緩存,使數據來源設備以最大的傳輸速率向播放設備傳輸媒體數據,播放設備對緩存速率不設限制,以接近于最大的傳輸速率的緩存速率進行緩存,以使播放設備盡快將緩存空間填滿。在開啟緩存時,多個播放設備同步進行播放,則數據來源設備均需以最大的傳輸速率向各臺播放設備傳輸媒體數據,則會大大增加多媒體同步播放系統的網絡壓力,甚至可能因寬帶不足造成緩存數據不同步的情形,導致所述多個播放設備無法實現同步播放,影響用戶體驗。故,需進一步改進。
技術實現要素:
本發明的目的在于提供一種多媒體同步播放方法、裝置、終端及系統,旨在解決現有技術中存在的多個播放設備同時開啟數據緩存時,大大增加了多媒體同步播放系統的網絡壓力,容易出現緩存數據不同步的情形,導致所述多個播放設備無法實現同步播放,用戶體驗差的技術問題。
為解決上述技術問題,本發明實施例提供以下技術方案:
一種多媒體同步播放方法,所述方法包括:
在同步播放的過程中,檢測緩存空間中的當前緩存數據量;
在同步播放緩存空間中的媒體數據的過程中,檢測所述緩存空間中的當前緩存數據量;
檢測當前數據緩存速率;
根據所述當前緩存數據量以及所述當前數據緩存速率,控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間,其中所述第二預設閾值小于所述第三預設閾值。
為解決上述技術問題,本發明實施例還提供以下技術方案:
一種多媒體同步播放裝置,所述裝置包括:
第一檢測模塊,用于在同步播放緩存空間中的媒體數據的過程中,檢測所述緩存空間中的當前緩存數據量;
第二檢測模塊,用于檢測當前數據緩存速率;
控制模塊,用于根據所述當前緩存數據量以及所述當前數據緩存速率,控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間,其中所述第二預設閾值小于所述第三預設閾值。
為解決上述技術問題,本發明實施例還提供以下技術方案:
一種終端,包括:存儲器和處理器,所述處理器與所述存儲器耦合,其中,所述處理器調用所述存儲器中存儲的所述可執行程序代碼,執行上述任一實施例所述的方法。
為解決上述技術問題,本發明實施例還提供以下技術方案:
一種多媒體同步播放系統,包括源設備以及多個播放設備,開始播放時由所述源設備向所述多個播放設備發送媒體數據,所述多個播放設備在緩存媒體數據的過程中進行同步播放,所述系統采用上述任一方法實現。
相對于現有技術,本發明通過在同步播放緩存空間中的媒體數據的過程中,檢測緩存空間中的當前緩存數據量,以及檢測當前數據緩存速率,根據所述檢測到的當前緩存數據量以及當前數據緩存速率調整媒體數據的數據緩存速率,以控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間,以近似恒流的方式對媒體數據進行緩存管理,使得多個播放設備同時緩存數據時合理均衡地使用寬帶,對寬帶的占用不會出現爆發式增長,避免了間歇性的突變波動,減小網絡壓力,保證緩存數據的同步,以使多個播放設備實現同步播放,提升用戶體驗。
附圖說明
下面結合附圖,通過對本發明的具體實施方式詳細描述,將使本發明的技術方案及其它有益效果顯而易見。
圖1為本發明第一實施例提供的一種多媒體同步播放方法的流程示意圖。
圖2為本發明第二實施例提供的一種多媒體同步播放方法的流程示意圖。
圖3為本發明第三實施例提供的一種多媒體同步播放裝置的結構示意圖。
圖4為本發明第四實施例提供的一種終端的結構示意圖。
圖5為本發明第五實施例提供的一種多媒體同步播放系統的運行環境示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述。可以理解的是,此處所描述的具體實施例僅用于解釋本發明,而非對本發明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發明相關的部分而非全部結構。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
本發明中的術語“第一”、“第二”和“第三”等是用于區別不同對象,而不是用于描述特定順序。此外,術語“包括”和“具有”以及它們任何變形,意圖在于覆蓋不排他的包含。例如包含了一系列步驟或單元的過程、方法、系統、產品或設備沒有限定于已列出的步驟或單元,而是可選地還包括沒有列出的步驟或單元,或可選地還包括對于這些過程、方法、產品或設備固有的其它步驟或單元。
在本文中提及“實施例”意味著,結合實施例描述的特定特征、結構或特性可以包含在本發明的至少一個實施例中。在說明書中的各個位置出現該短語并不一定均是指相同的實施例,也不是與其它實施例互斥的獨立的或備選的實施例。本領域技術人員顯式地和隱式地理解的是,本文所描述的實施例可以與其它實施例相結合。
本發明實施例提供的一種多媒體同步播放方法的執行主體,可以為本發明實施例提供的一種多媒體同步播放裝置,或者集成了所述多媒體同步播放裝置的移動終端(譬如臺式電腦、筆記本、掌上電腦、平板電腦、智能電視、智能手機、智能音箱、或具有播放功能的可穿戴設備等),所述多媒體同步播放裝置可以采用硬件或者軟件的方式實現。
可以理解的是,本實施例所描述的方法可以應用于智能播放設備或者多媒體同步播放系統中。優選的,所述多媒體同步播放系統一般包括源設備和多個播放設備。其中,所述多個播放設備中可以包括主控設備和至少一個從屬設備。其中,所述源設備可以用于向多個播放設備提供媒體數據,以使多個播放設備進行同步播放;或者所述源設備可以用于向所述播放設備中的主控設備提供媒體數據,所述主控設備再將接收完畢的多媒體數據同步給所述播放設備中的從屬設備,以實現多媒體同步播放。
第一實施例
請參閱圖1,圖1為本發明第一實施例提供的一種多媒體同步播放方法的流程示意圖。所述方法包括:
步驟S101,在同步播放緩存空間中的媒體數據的過程中,檢測所述緩存空間中的當前緩存數據量。
可以理解的是,可以根據實際的緩存空間的大小,對緩存空間中的緩存數據量設置多個預設閾值,其中,所述多個預設閾值中的第一預設閾值,第二預設閾值,第三預設閾值,以及第四預設閾值為遞增的關系。其中,所述第一預設閾值可以等效為風險低位閾值,所述第二預設閾值可以等效為正常低位閾值,所述第三預設閾值可以等效為正常高位閾值,所述第四預設閾值可以等效為風險高位閾值。例如:預先設置第一預設閾值為緩存空間總大小的15%,第二預設閾值為緩存空間總大小的30%,第三預設閾值為緩存空間總大小的70%,第四預設閾值為緩存空間總大小的85%。
在同步播放緩存空間中的媒體數據的過程中,播放設備在緩存媒體數據的同時對已緩存的媒體數據進行播放,此時,緩存空間中的緩存數據量處于動態變化中,為避免出現緩存耗盡或者溢出的情形,需對緩存空間中的緩存數據量進行監控。可以在預設時間間隔內,檢測緩存空間中的當前緩存數據量。比如檢測到當前的緩存數據量達到第二預設閾值。
步驟S102,檢測當前數據緩存速率。
可以理解的是,在同步播放的過程中,在檢測緩存空間中的當前緩存數據量的同時,檢測當前數據緩存速率。由于播放設備中緩存的媒體數據是用于播放輸出的,所以對于緩存的媒體數據來說消耗的媒體數據可以是勻速的。播放設備一直以固定的播放速率進行播放,為保證同步播放的流暢,可以根據應用網絡環境類型,預先設置多個數據緩存速率,用于調節緩存數據量的大小。其中,第一緩存速率小于播放速率,播放速率小于第二緩存速率,第二緩存速率小于第三緩存速率。另外,第一緩存速率以及第二緩存速率可以根據播放速率進行設定,例如,播放速率是1Mb/s,則第一緩存速率可以設置為0.8Mb/s,第二緩存速率可以設置為1.2Mb/s;第三緩存速率可以為應用網絡環境下不設限制時的最大的數據緩存速率,比如第三緩存速率可以為4Mb/s。
在同步播放的過程中,當播放設備以第一緩存速率進行緩存,同時按照播放速率進行同步播放時,由于第一緩存速率小于播放速率,則緩存空間中的緩存數據量處于緩慢消耗的過程,可以將第一緩存速率等效于緩慢消耗緩存速率。在同步播放的過程中,當播放設備以第二緩存速率進行緩存,同時按照播放速率進行同步播放時,由于第二緩存速率大于播放速率,則緩存空間中的緩存數據量處于緩慢積累的過程,可以將第二緩存速率等效于緩慢積累緩存速率。
步驟S103,根據所述當前緩存數據量以及所述當前數據緩存速率,控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間,其中所述第二預設閾值小于所述第三預設閾值。
優選的,可以根據所述當前緩存數據量以及當前數據緩存速率調播放設備對整媒體數據的數據緩存速率,以控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間。
優選的,也可以根據所述當前緩存數據量以及當前數據緩存速率,向所述源設備發送調整源設備的數據傳輸速率的請求指令,以使源設備根據請求指令相應調整其數據傳輸速率,以控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間。
優選的,也可以根據所述當前緩存數據量以及當前數據緩存速率,調整播放設備的數據接收速率,以使播放設備相應調整其數據接收速率,以控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間。
可以理解的是,正常情況下保證緩存數據量在第二預設閾值(正常低位閾值)和第三預設閾值(正常高位閾值)之間的區間范圍內波動,其中所述區間范圍包括第二預設閾值和第三預設閾值。當出現風險時,緩存數據量將越過第三預設閾值(正常高位閾值)觸及第四預設閾值(風險高位閾值),或是緩存數據量將越過第二預設閾值(正常低位閾值)及第一預設閾值(風險低位閾值),則此時進行風險應對操作。
本實施例通過在同步播放緩存空間中的媒體數據的過程中,檢測緩存空間中的當前緩存數據量,以及檢測當前數據緩存速率,根據所述檢測到的當前緩存數據量以及當前數據緩存速率調整媒體數據的數據緩存速率,以控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間,以近似恒流的方式對媒體數據進行緩存管理,使得多個播放設備在同時緩存數據時合理均衡地使用寬帶,對寬帶的占用不會出現爆發式增長,避免了間歇性的突變波動,減小網絡壓力,保證緩存數據的同步,以使多個播放設備實現同步播放,提升用戶體驗。
第二實施例
請一并參閱圖2,圖2為本發明第二實施例提供的一種多媒體同步播放方法的流程示意圖。所述方法包括:
步驟S201,在同步播放緩存空間中的媒體數據的過程中,檢測所述緩存空間中的當前緩存數據量。
可以理解的是,可以根據實際的緩存空間的大小,對緩存空間中的緩存數據量設置多個預設閾值,其中,所述多個預設閾值中的第一預設閾值,第二預設閾值,第三預設閾值,以及第四預設閾值為遞增的關系。其中,所述第一預設閾值可以等效為風險低位閾值,所述第二預設閾值可以等效為正常低位閾值,所述第三預設閾值可以等效為正常高位閾值,所述第四預設閾值可以等效為風險高位閾值。例如:預先設置第一預設閾值為緩存空間總大小的15%,第二預設閾值為緩存空間總大小的30%,第三預設閾值為緩存空間總大小的70%,第四預設閾值為緩存空間總大小的85%。
在同步播放緩存空間中的媒體數據的過程中,播放設備在緩存媒體數據的同時對已緩存的媒體數據進行播放,此時,緩存空間中的緩存數據量處于動態變化中,為避免出現緩存耗盡或者溢出的情形,需對緩存空間中的緩存數據量進行監控。可以在預設時間間隔內,檢測緩存空間中的當前緩存數據量。比如檢測到當前的緩存數據量達到第二預設閾值。
步驟S202,檢測當前數據緩存速率。
可以理解的是,在同步播放的過程中,在檢測緩存空間中的當前緩存數據量的同時,檢測當前數據緩存速率。由于播放設備中緩存的媒體數據是用于播放輸出的,所以對于緩存的媒體數據來說消耗的媒體數據可以是勻速的。播放設備一直以固定的播放速率進行播放,為保證同步播放的流暢,可以根據應用網絡環境類型,預先設置多個數據緩存速率,用于調節緩存數據量的大小。其中,第一緩存速率小于播放速率,播放速率小于第二緩存速率,第二緩存速率小于第三緩存速率。另外,第一緩存速率以及第二緩存速率可以根據播放速率進行設定,例如,播放速率是1Mb/s,則第一緩存速率可以設置為0.8Mb/s,第二緩存速率可以設置為1.2Mb/s;第三緩存速率可以為應用網絡環境下不設限制時的最大的數據緩存速率,比如第三緩存速率可以為4Mb/s。在同步播放的過程中,當播放設備以第一緩存速率進行緩存,同時按照播放速率進行同步播放時,由于第一緩存速率小于播放速率,則緩存空間中的緩存數據量處于緩慢消耗的過程,可以將第一緩存速率等效于緩慢消耗緩存速率。在同步播放的過程中,當播放設備以第二緩存速率進行緩存,同時按照播放速率進行同步播放時,由于第二緩存速率大于播放速率,則緩存空間中的緩存數據量處于緩慢積累的過程,可以將第二緩存速率等效于緩慢積累緩存速率。
步驟S203,根據所述當前緩存數據量以及當前數據緩存速率調整媒體數據的數據緩存速率,以控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間,其中所述第二預設閾值小于所述第三預設閾值。
可以理解的是,正常情況下保證緩存數據量在第二預設閾值(正常低位閾值)和第三預設閾值(正常高位閾值)之間的區間范圍內波動,其中所述區間范圍包括第二預設閾值和第三預設閾值。當出現風險時,緩存數據量將越過第三預設閾值(正常高位閾值)觸及第四預設閾值(風險高位閾值),或是緩存數據量將越過第二預設閾值(正常低位閾值)及第一預設閾值(風險低位閾值),則此時進行風險應對操作。
優選的,所述步驟S203可以通過步驟S2031至步驟S2036來實現,具體為:
步驟S2031,當檢測到當前緩存數據量達到第二預設閾值,且當前數據緩存速率小于播放媒體數據的播放速率時,增大媒體數據的數據緩存速率。
在一些實施方式中,可以根據應用網絡環境類型,預先設置多個數據緩存速率,用于調節緩存數據量的大小。其中,第一緩存速率小于播放速率,播放速率小于第二緩存速率,第二緩存速率小于第三緩存速率。另外,第一緩存速率以及第二緩存速率可以根據播放速率進行設定,例如,播放速率是1Mb/s,則第一緩存速率可以設置為0.8Mb/s,第二緩存速率可以設置為1.2Mb/s;第三緩存速率可以為應用網絡環境下不設限制時的最大的數據緩存速率,比如第三緩存速率可以為4Mb/s。
在一些實施方式中,當檢測到當前緩存數據量達到第二預設閾值,且當前數據緩存速率為零或者第一緩存速率時,增大媒體數據的數據緩存速率。
優選的,當檢測到當前緩存數據量達到第二預設閾值,且當前數據緩存速率為零或者第一緩存速率時,將媒體數據的數據緩存速率增大至第二緩存速率。
例如,當檢測到當前緩存數據量達到正常低位閾值,且當前數據緩存速率為零時,即已關閉傳輸,則說明在檢測之前緩存數據量已觸及過風險高位閾值,受風險調控后現在已經將緩存消耗,此時將數據緩存速率從零增大為緩慢累積緩存速率,使緩存開始緩慢累積。
例如,當檢測到當前緩存數據量達到正常低位閾值,且當前數據緩存速率為緩慢消耗緩存速率時,則說明緩存已經緩慢消耗完成,此時將數據緩存速率從緩慢消耗緩存速率增大為緩慢累積緩存速率,使緩存開始緩慢累積。
步驟S2032,當檢測到當前緩存數據量達到第三預設閾值,且當前數據緩存速率大于播放媒體數據的播放速率時,減小媒體數據的數據緩存速率。
在一些實施方式中,當檢測到當前緩存數據量達到第三預設閾值,且當前數據緩存速率為第二緩存速率或者第三緩存速率時,減小媒體數據的數據緩存速率。
優選的,當檢測到當前緩存數據量達到第三預設閾值,且當前數據緩存速率為第二緩存速率或者第三緩存速率時,將媒體數據的數據緩存速率減小至第一緩存速率。
例如,當檢測到當前緩存數據量達到正常高位閾值,且當前數據緩存速率為緩慢累積緩存速率時,則說明緩存已經緩慢累積完成,此時將數據緩存速率減小為緩慢消耗緩存速率,使緩存開始緩慢消耗。
例如,當檢測到當前緩存數據量達到正常高位閾值,且當前數據緩存速率為第三緩存速率時,若緩存速率未設限制,即以最大可能的緩存速率進行傳輸,則說明在檢測之前緩存數據量觸及過風險低位閾值,受風險調控后現在已經將緩存填滿,此時將數據緩存速率減小為緩慢消耗緩存速率,使緩存開始緩慢消耗。
步驟S2033,當檢測到當前緩存數據量達到第二預設閾值,且當前數據緩存速率大于播放媒體數據的播放速率時,維持當前數據緩存速率。
在一些實施方式中,當檢測到當前緩存數據量達到第二預設閾值,且當前數據緩存速率為第二緩存速率或者第三緩存速率時,維持當前數據緩存速率。
例如,當檢測到當前緩存數據量達到正常低位閾值,且當前數據緩存速率為緩慢累積緩存速率,則說明在檢測之前緩存數據量已觸及到正常低位閾值,且已經正常調控過,因為調控到生效有時間差的原因,緩存數據量短暫的低過正常低位閾值后現在正在緩慢回升,不需要進行處理,維持當前數據緩存速率。
例如,當檢測到當前緩存數據量達到正常低位閾值,且當前數據緩存速率為第三緩存速率,若緩存速率未設限制,即以最大可能的緩存速率進行傳輸,則說明在檢測之前緩存數據量已觸及了風險低位閾值,強制去掉了緩存速率的限制,目前緩存水位正在正常回升,不需要進行處理,維持當前數據緩存速率。
步驟S2034,當檢測到當前緩存數據量達到第三預設閾值,且當前數據緩存速率小于播放媒體數據的播放速率時,維持當前數據緩存速率。
在一些實施方式中,當檢測到當前緩存數據量達到第三預設閾值,且當前數據緩存速率為零或者第一緩存速率時,維持當前數據緩存速率。
例如,當檢測到當前緩存數據量達到正常高位閾值,且當前數據緩存速率為零,則說明在檢測之前緩存數據量已觸及了風險高位閾值,強制停止了數據傳輸,目前緩存水位正在正常回落,不需要進行處理,維持當前數據緩存速率。
例如,當檢測到當前緩存數據量達到正常高位閾值,且當前數據緩存速率為緩慢消耗緩存速率,則說明在檢測之前緩存數據量已觸及到正常高位閾值,且已經正常調控過,因為調控到生效有時間差的原因,緩存數據量短暫越過正常高位閾值后現在正在緩慢回落,不需要進行處理,維持當前數據緩存速率。
步驟S2035,當檢測到當前緩存數據量達到第一預設閾值時,將媒體數據的數據緩存速率調整為不設限制的緩存速率,其中所述第一預設閾值小于所述第二預設閾值。
例如,當檢測到當前緩存數據量達到風險低位閾值時,且當前數據緩存速率為緩慢消耗緩存速率時,則說明在檢測之前緩存數據量已經觸及到正常低位閾值,且已經正常調控過,但由于出現異常,緩存數據量仍在繼續下降,此時需進行風險調控,將媒體數據的數據緩存速率調整為第三緩存速率,將緩存速率強制改為不設限制,即以最大可能的緩存速率進行傳輸,使緩存數據量積累至正常低位閾值和正常高位閾值之間。
例如,當檢測到當前緩存數據量達到風險低位閾值時,且當前數據緩存速率為第三緩存速率時,若緩存速率未設限制,即以最大可能的緩存速率進行傳輸,則說明在檢測之前緩存數據量已經觸及到風險低位閾值,且已經風險調控過,因為調控到生效有時間差的原因,緩存數據量短暫的低過風險低位閾值后現在正在回升,不需要進行處理,維持第三緩存速率進行緩存,使緩存數據量積累至正常低位閾值和正常高位閾值之間。
步驟S2036,當檢測到當前緩存數據量達到第四預設閾值時,將媒體數據的數據緩存速率調整為零,其中所述第四預設閾值大于所述第三預設閾值。
例如,當檢測到當前緩存數據量達到風險高位閾值時,且當前數據緩存速率為零,即關閉傳輸,則說明在檢測之前緩存數據量已觸及了風險高位閾值,且已經風險調控過,因為調控到生效有時間差的原因,緩存數據量短暫越過風險高位閾值后現在正在回落,不需要進行處理,維持當前數據緩存速率,使緩存數據量消耗至正常低位閾值和正常高位閾值之間。
例如,當檢測到當前緩存數據量達到風險高位閾值時,且當前數據緩存速率為緩慢消耗緩存速率,則說明在檢測之前緩存數據量已經觸及到高位閾值,且已經正常調控過,但由于出現異常,水位仍在繼續上升,此時需進行風險調控,將數據緩存速率強制調整為零,即關閉傳輸,使緩存數據量消耗至正常低位閾值和正常高位閾值之間。
本實施例通過在同步播放緩存空間中的媒體數據的過程中,檢測緩存空間中的當前緩存數據量,以及檢測當前數據緩存速率,根據所述檢測到的當前緩存數據量以及當前數據緩存速率調整媒體數據的數據緩存速率,以控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間,以近似恒流的方式對媒體數據進行緩存管理,同時設置有風險應對措施,避免風險出現而造成緩存耗盡或者溢出,使得多個播放設備同時緩存數據時合理均衡地使用寬帶,對寬帶的占用不會出現爆發式增長,避免了間歇性的突變波動,減小網絡壓力,保證緩存數據的同步,以使多個播放設備實現同步播放,提升用戶體驗。
第三實施例
請參閱圖3,圖3為本發明第三實施例提供的一種多媒體同步播放裝置的結構示意圖。所述多媒體同步播放裝置30包括第一檢測模塊31,第二檢測模塊32,以及控制模塊33。
其中,所述第一檢測模塊31,用于在同步播放緩存空間中的媒體數據的過程中,檢測所述緩存空間中的當前緩存數據量。
可以理解的是,可以根據實際的緩存空間的大小,對緩存空間中的緩存數據量設置多個預設閾值,其中,所述多個預設閾值中的第一預設閾值,第二預設閾值,第三預設閾值,以及第四預設閾值為遞增的關系。其中,所述第一預設閾值可以等效為風險低位閾值,所述第二預設閾值可以等效為正常低位閾值,所述第三預設閾值可以等效為正常高位閾值,所述第四預設閾值可以等效為風險高位閾值。例如:預先設置第一預設閾值為緩存空間總大小的15%,第二預設閾值為緩存空間總大小的30%,第三預設閾值為緩存空間總大小的70%,第四預設閾值為緩存空間總大小的85%。
在同步播放緩存空間中的媒體數據的過程中,播放設備在緩存媒體數據的同時對已緩存的媒體數據進行播放,此時,緩存空間中的緩存數據量處于動態變化中,為避免出現緩存耗盡或者溢出的情形,需對緩存空間中的緩存數據量進行監控。所述第一檢測模塊31可以在預設時間間隔內,檢測緩存空間中的當前緩存數據量。比如所述第一檢測模塊31檢測到當前的緩存數據量達到第二預設閾值。
所述第二檢測模塊32,用于檢測當前數據緩存速率。
可以理解的是,在同步播放的過程中,在所述第一檢測模塊31檢測緩存空間中的當前緩存數據量的同時,所述第二檢測模塊32檢測當前數據緩存速率。由于播放設備中緩存的媒體數據是用于播放輸出的,所以對于緩存的媒體數據來說消耗的媒體數據可以是勻速的。播放設備一直以固定的播放速率進行播放,為保證同步播放的流暢,可以根據應用網絡環境類型,預先設置多個數據緩存速率,用于調節緩存數據量的大小。其中,第一緩存速率小于播放速率,播放速率小于第二緩存速率,第二緩存速率小于第三緩存速率。另外,第一緩存速率以及第二緩存速率可以根據播放速率進行設定,例如,播放速率是1Mb/s,則第一緩存速率可以設置為0.8Mb/s,第二緩存速率可以設置為1.2Mb/s;第三緩存速率可以為應用網絡環境下不設限制時的最大的數據緩存速率,比如第三緩存速率可以為4Mb/s。
在同步播放的過程中,當播放設備以第一緩存速率進行緩存,同時按照播放速率進行同步播放時,由于第一緩存速率小于播放速率,則緩存空間中的緩存數據量處于緩慢消耗的過程,可以將第一緩存速率等效于緩慢消耗緩存速率。在同步播放的過程中,當播放設備以第二緩存速率進行緩存,同時按照播放速率進行同步播放時,由于第二緩存速率大于播放速率,則緩存空間中的緩存數據量處于緩慢積累的過程,可以將第二緩存速率等效于緩慢積累緩存速率。
所述控制模塊33,用于根據所述當前緩存數據量以及所述當前數據緩存速率,控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間,其中所述第二預設閾值小于所述第三預設閾值。
優選的,所述控制模塊33可以根據所述當前緩存數據量以及當前數據緩存速率,向所述源設備發送調整源設備的數據傳輸速率的請求指令,以使源設備根據請求指令相應調整其數據傳輸速率,以控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間。
優選的,所述控制模塊33也可以根據所述當前緩存數據量以及當前數據緩存速率,調整播放設備的數據接收速率,以使播放設備相應調整其數據接收速率,以控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間。
可以理解的是,正常情況下保證緩存數據量在第二預設閾值(正常低位閾值)和第三預設閾值(正常高位閾值)之間的區間范圍內波動,其中所述區間范圍包括第二預設閾值和第三預設閾值。當出現風險時,緩存數據量將越過第三預設閾值(正常高位閾值)觸及第四預設閾值(風險高位閾值),或是緩存數據量將越過第二預設閾值(正常低位閾值)及第一預設閾值(風險低位閾值),則此時進行風險應對操作。
優選的,所述控制模塊33,用于根據檢測到的當前緩存數據量以及當前數據緩存速率調整媒體數據的數據緩存速率,以控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間,其中所述第二預設閾值小于所述第三預設閾值。
優選的,所述控制模塊33,還用于當檢測到當前緩存數據量達到第二預設閾值,且當前數據緩存速率小于播放媒體數據的播放速率時,增大媒體數據的數據緩存速率。
在一些實施方式中,可以根據應用網絡環境類型,預先設置多個數據緩存速率,用于調節緩存數據量的大小。其中,第一緩存速率小于播放速率,播放速率小于第二緩存速率,第二緩存速率小于第三緩存速率。另外,第一緩存速率以及第二緩存速率可以根據播放速率進行設定,例如,播放速率是1Mb/s,則第一緩存速率可以設置為0.8Mb/s,第二緩存速率可以設置為1.2Mb/s;第三緩存速率可以為應用網絡環境下不設限制時的最大的數據緩存速率,比如第三緩存速率可以為4Mb/s。
在一些實施方式中,當檢測到當前緩存數據量達到第二預設閾值,且當前數據緩存速率為零或者第一緩存速率時,所述控制模塊33增大媒體數據的數據緩存速率;或者當檢測到當前緩存數據量達到第三預設閾值,且當前數據緩存速率為第二緩存速率或者第三緩存速率時,所述控制模塊33減小媒體數據的數據緩存速率,其中所述第一緩存速率小于所述第二緩存速率,所述第二緩存速率小于所述第三緩存速率。
優選的,當檢測到當前緩存數據量達到第二預設閾值,且當前數據緩存速率為零或者第一緩存速率時,所述控制模塊33將媒體數據的數據緩存速率增大至第二緩存速率。
例如,當所述第一檢測模塊31檢測到當前緩存數據量達到正常低位閾值,且所述第二檢測模塊32檢測到當前數據緩存速率為零時,即已關閉傳輸,則說明在檢測之前緩存數據量已觸及過風險高位閾值,受風險調控后現在已經將緩存消耗,此時所述控制模塊33將數據緩存速率從零增大為緩慢累積緩存速率,使緩存開始緩慢累積。
例如,當所述第一檢測模塊31檢測到當前緩存數據量達到正常低位閾值,且所述第二檢測模塊32檢測到當前數據緩存速率為緩慢消耗緩存速率時,則說明緩存已經緩慢消耗完成,此時所述控制模塊33將數據緩存速率從緩慢消耗緩存速率增大為緩慢累積緩存速率,使緩存開始緩慢累積。
優選的,所述控制模塊33,還用于當檢測到當前緩存數據量達到第三預設閾值,且當前數據緩存速率大于播放媒體數據的播放速率時,減小媒體數據的數據緩存速率。
在一些實施方式中,當檢測到當前緩存數據量達到第三預設閾值,且當前數據緩存速率為第二緩存速率或者第三緩存速率時,所述控制模塊33將媒體數據的數據緩存速率減小至第一緩存速率。
例如,當所述第一檢測模塊31檢測到當前緩存數據量達到正常高位閾值,且所述第二檢測模塊32檢測到當前數據緩存速率為緩慢累積緩存速率時,則說明緩存已經緩慢累積完成,此時所述控制模塊33將數據緩存速率減小為緩慢消耗緩存速率,使緩存開始緩慢消耗。
例如,當所述第一檢測模塊31檢測到當前緩存數據量達到正常高位閾值,且所述第二檢測模塊32檢測到當前數據緩存速率為第三緩存速率時,若緩存速率未設限制,即以最大可能的緩存速率進行傳輸,則說明在檢測之前緩存數據量觸及過風險低位閾值,受風險調控后現在已經將緩存填滿,此時所述控制模塊33將數據緩存速率減小為緩慢消耗緩存速率,使緩存開始緩慢消耗。
優選的,所述控制模塊33,還用于當檢測到當前緩存數據量達到第二預設閾值,且當前數據緩存速率大于播放媒體數據的播放速率時,維持當前數據緩存速率;或者用于當檢測到當前緩存數據量達到第三預設閾值,且當前數據緩存速率小于播放媒體數據的播放速率時,維持當前數據緩存速率。
在一些實施方式中,當檢測到當前緩存數據量達到第二預設閾值,且當前數據緩存速率為第二緩存速率或者第三緩存速率時,所述控制模塊33維持當前數據緩存速率;或者當檢測到當前緩存數據量達到第三預設閾值,且當前數據緩存速率為零或者第一緩存速率時,所述控制模塊33維持當前數據緩存速率。
例如,當所述第一檢測模塊31檢測到當前緩存數據量達到正常低位閾值,且所述第二檢測模塊32檢測到當前數據緩存速率為緩慢累積緩存速率,則說明在檢測之前緩存數據量已觸及到正常低位閾值,且已經正常調控過,因為調控到生效有時間差的原因,緩存數據量短暫的低過正常低位閾值后現在正在緩慢回升,不需要進行處理,所述控制模塊33維持當前數據緩存速率。
例如,當所述第一檢測模塊31檢測到當前緩存數據量達到正常低位閾值,且所述第二檢測模塊32檢測到當前數據緩存速率為第三緩存速率,若緩存速率未設限制,即以最大可能的緩存速率進行傳輸,則說明在檢測之前緩存數據量已觸及了風險低位閾值,強制去掉了緩存速率的限制,目前緩存水位正在正常回升,不需要進行處理,所述控制模塊33維持當前數據緩存速率。
例如,當所述第一檢測模塊31檢測到當前緩存數據量達到正常高位閾值,且所述第二檢測模塊32檢測到當前數據緩存速率為零,則說明在檢測之前緩存數據量已觸及了風險高位閾值,強制停止了數據傳輸,目前緩存水位正在正常回落,不需要進行處理,所述控制模塊33維持當前數據緩存速率。
例如,當所述第一檢測模塊31檢測到當前緩存數據量達到正常高位閾值,且所述第二檢測模塊32檢測到當前數據緩存速率為緩慢消耗緩存速率,則說明在檢測之前緩存數據量已觸及到正常高位閾值,且已經正常調控過,因為調控到生效有時間差的原因,緩存數據量短暫越過正常高位閾值后現在正在緩慢回落,不需要進行處理,所述控制模塊33維持當前數據緩存速率。
優選的,所述控制模塊33,還用于當檢測到當前緩存數據量達到第一預設閾值時,將媒體數據的數據緩存速率調整為不設限制的緩存速率,其中所述第一預設閾值小于所述第二預設閾值;或者用于當檢測到當前緩存數據量達到第四預設閾值時,將媒體數據的數據緩存速率調整為零,其中所述第四預設閾值大于所述第三預設閾值。
例如,當所述第一檢測模塊31檢測到當前緩存數據量達到風險低位閾值時,且所述第二檢測模塊32當前數據緩存速率為緩慢消耗緩存速率時,則說明在檢測之前緩存數據量已經觸及到正常低位閾值,且已經正常調控過,但由于出現異常,緩存數據量仍在繼續下降,此時需進行風險調控,所述控制模塊33將媒體數據的數據緩存速率調整為第三緩存速率,將緩存速率強制改為不設限制,即以最大可能的緩存速率進行傳輸,使緩存數據量積累至正常低位閾值和正常高位閾值之間。
例如,當所述第一檢測模塊31檢測到當前緩存數據量達到風險低位閾值時,且所述第二檢測模塊32當前數據緩存速率為第三緩存速率時,若緩存速率未設限制,即以最大可能的緩存速率進行傳輸,則說明在檢測之前緩存數據量已經觸及到風險低位閾值,且已經風險調控過,因為調控到生效有時間差的原因,緩存數據量短暫的低過風險低位閾值后現在正在回升,不需要進行處理,所述控制模塊33維持第三緩存速率進行緩存,使緩存數據量積累至正常低位閾值和正常高位閾值之間。
例如,當所述第一檢測模塊31檢測到當前緩存數據量達到風險高位閾值時,且所述第二檢測模塊32當前數據緩存速率為零,即關閉傳輸,則說明在檢測之前緩存數據量已觸及了風險高位閾值,且已經風險調控過,因為調控到生效有時間差的原因,緩存數據量短暫越過風險高位閾值后現在正在回落,不需要進行處理,所述控制模塊33維持當前數據緩存速率,使緩存數據量消耗至正常低位閾值和正常高位閾值之間。
例如,當所述第一檢測模塊31檢測到當前緩存數據量達到風險高位閾值時,且所述第二檢測模塊32當前數據緩存速率為緩慢消耗緩存速率,則說明在檢測之前緩存數據量已經觸及到高位閾值,且已經正常調控過,但由于出現異常,水位仍在繼續上升,此時需進行風險調控,所述控制模塊33將數據緩存速率強制調整為零,即關閉傳輸,使緩存數據量消耗至正常低位閾值和正常高位閾值之間。
第四實施例
本發明實施例還提供一種終端,如圖4所示,圖4為本發明第四實施例提供的一種終端的結構示意圖。該終端400可以包括射頻(RF,Radio Frequency)電路401、包括有一個或一個以上計算機可讀存儲介質的存儲器402、輸入單元403、顯示單元404、傳感器405、音頻電路406、無線保真(WiFi,Wireless Fidelity)模塊407、包括有一個或者一個以上處理核心的處理器408、以及電源409等部件。本領域技術人員可以理解,圖4中示出的終端結構并不構成對終端的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
射頻電路401可用于收發信息,或通話過程中信號的接收和發送,特別地,將基站的下行信息接收后,交由一個或者一個以上處理器408處理;另外,將涉及上行的數據發送給基站。通常,射頻電路401包括但不限于天線、至少一個放大器、調諧器、一個或多個振蕩器、用戶身份模塊(SIM,Subscriber Identity Module)卡、收發信機、耦合器、低噪聲放大器(LNA,Low Noise Amplifier)、雙工器等。此外,射頻電路401還可以通過無線通信與網絡和其他設備通信。該無線通信可以使用任一通信標準或協議,包括但不限于全球移動通訊系統(GSM,Global System of Mobile communication)、通用分組無線服務(GPRS,General Packet Radio Service)、碼分多址(CDMA,Code Division Multiple Access)、寬帶碼分多址(WCDMA,Wideband Code Division Multiple Access)、長期演進(LTE,Long Term Evolution)、電子郵件、短消息服務(SMS,Short Messaging Service)等。
存儲器402可用于存儲應用程序和數據。存儲器402存儲的應用程序中包含有可執行程序代碼。應用程序可以組成各種功能模塊。處理器408通過運行存儲在存儲器402的應用程序,從而執行各種功能應用以及數據處理。存儲器402可主要包括存儲程序區和存儲數據區,其中,存儲程序區可存儲操作系統、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數據區可存儲根據終端的使用所創建的數據(比如音頻數據、電話本等)等。此外,存儲器402可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態存儲器件。相應地,存儲器402還可以包括存儲器控制器,以提供處理器408和輸入單元403對存儲器402的訪問。
輸入單元403可用于接收輸入的數字、字符信息或用戶特征信息(比如指紋),以及產生與用戶設置以及功能控制有關的鍵盤、鼠標、操作桿、光學或者軌跡球信號輸入。具體地,輸入單元403可以包括指紋識別模組。在一些實施例中,輸入單元403還可以包括觸敏表面。觸敏表面,也稱為觸摸顯示屏或者觸控板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸敏表面上或在觸敏表面附近的操作),并根據預先設定的程式驅動相應的連接裝置。可選的,觸敏表面可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉換成觸點坐標,再送給處理器408,并能接收處理器408發來的命令并加以執行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現觸敏表面。除了觸敏表面,輸入單元403還可以包括其他輸入設備。具體地,其他輸入設備可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。
顯示單元404可用于顯示由用戶輸入的信息或提供給用戶的信息以及終端的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標、視頻和其任意組合來構成。顯示單元404可包括顯示面板。可選的,可以采用液晶顯示器(LCD,Liquid Crystal Display)、有機發光二極管(OLED,Organic Light-Emitting Diode)等形式來配置顯示面板。進一步的,觸敏表面可覆蓋顯示面板,當觸敏表面檢測到在其上或附近的觸摸操作后,傳送給處理器408以確定觸摸事件的類型,隨后處理器408根據觸摸事件的類型在顯示面板上提供相應的視覺輸出。雖然在圖4中,觸敏表面與顯示面板是作為兩個獨立的部件來實現輸入和輸入功能,但是在某些實施例中,可以將觸敏表面與顯示面板集成而實現輸入和輸出功能。
終端還可包括至少一種傳感器405,比如光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環境光傳感器及接近傳感器,其中,環境光傳感器可根據環境光線的明暗來調節顯示面板的亮度,接近傳感器可在終端移動到耳邊時,關閉顯示面板和/或背光。作為運動傳感器的一種,重力加速度傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態的應用(比如橫豎屏切換、相關游戲、磁力計姿態校準)、振動識別相關功能(比如計步器、敲擊)等;至于終端還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路406可通過揚聲器、傳聲器提供用戶與終端之間的音頻接口。音頻電路406可將接收到的音頻數據轉換成電信號,傳輸到揚聲器,由揚聲器轉換為聲音信號輸出;另一方面,傳聲器將收集的聲音信號轉換為電信號,由音頻電路406接收后轉換為音頻數據,再將音頻數據輸出處理器408處理后,經射頻電路401以發送給比如另一終端,或者將音頻數據輸出至存儲器402以便進一步處理。音頻電路406還可能包括耳塞插孔,以提供外設耳機與終端的通信。
無線保真(WiFi)屬于短距離無線傳輸技術,終端通過無線保真模塊407可以幫助用戶收發電子郵件、瀏覽網頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯網訪問。雖然圖4示出了無線保真模塊407,但是可以理解的是,其并不屬于終端的必須構成,完全可以根據需要在不改變發明的本質的范圍內而省略。
處理器408是終端的控制中心,利用各種接口和線路連接整個終端的各個部分,通過運行或執行存儲在存儲器402內的應用程序,以及調用存儲在存儲器402內的數據,執行終端的各種功能和處理數據,從而對終端進行整體監控。可選的,處理器408可包括一個或多個處理核心;優選的,處理器408可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統、用戶界面和應用程序等,調制解調處理器主要處理無線通信。可以理解的是,上述調制解調處理器也可以不集成到處理器408中。
終端還包括給各個部件供電的電源409(比如電池)。優選的,電源可以通過電源管理系統與處理器408邏輯相連,從而通過電源管理系統實現管理充電、放電、以及功耗管理等功能。電源409還可以包括一個或一個以上的直流或交流電源、再充電系統、電源故障檢測電路、電源轉換器或者逆變器、電源狀態指示器等任意組件。
盡管圖4中未示出,終端還可以包括攝像頭、藍牙模塊等,在此不再贅述。
具體在本實施例中,終端中的處理器408會按照如下的指令,將一個或一個以上的應用程序的進程對應的可執行程序代碼加載到存儲器402中,并由處理器408來運行存儲在存儲器402中的應用程序,執行如下操作:
在同步播放緩存空間中的媒體數據的過程中,檢測所述緩存空間中的當前緩存數據量;
檢測當前數據緩存速率;
根據所述當前緩存數據量以及所述當前數據緩存速率,控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間,其中所述第二預設閾值小于所述第三預設閾值。
優選的,處理器408用于所述根據所述當前緩存數據量以及所述當前數據緩存速率,控制所述緩存空間中的緩存數據量維持在第二預設閾值與第三預設閾值之間,具體包括:
根據所述當前緩存數據量以及所述當前數據緩存速率調整媒體數據的數據緩存速率,以控制所述緩存空間中的緩存數據量維持在所述第二預設閾值與第三預設閾值之間。
優選的,處理器408用于所述根據所述當前緩存數據量以及所述當前數據緩存速率調整媒體數據的數據緩存速率,以控制所述緩存空間中的緩存數據量維持在所述第二預設閾值與第三預設閾值之間,包括:
當檢測到當前緩存數據量達到第二預設閾值,且當前數據緩存速率小于播放媒體數據的播放速率時,增大媒體數據的數據緩存速率;或者
當檢測到當前緩存數據量達到第三預設閾值,且當前數據緩存速率大于播放媒體數據的播放速率時,減小媒體數據的數據緩存速率。
優選的,處理器408用于所述根據所述當前緩存數據量以及所述當前數據緩存速率調整媒體數據的數據緩存速率,以控制所述緩存空間中的緩存數據量維持在所述第二預設閾值與第三預設閾值之間,包括:
當檢測到當前緩存數據量達到第二預設閾值,且當前數據緩存速率大于播放媒體數據的播放速率時,維持當前數據緩存速率;或者
當檢測到當前緩存數據量達到第三預設閾值,且當前數據緩存速率小于播放媒體數據的播放速率時,維持當前數據緩存速率。
優選的,處理器408用于所述根據所述當前緩存數據量以及所述當前數據緩存速率調整媒體數據的數據緩存速率,以控制所述緩存空間中的緩存數據量維持在所述第二預設閾值與第三預設閾值之間,包括:
當檢測到當前緩存數據量達到第一預設閾值時,將媒體數據的數據緩存速率調整為不設限制的緩存速率,其中所述第一預設閾值小于所述第二預設閾值;或者
當檢測到當前緩存數據量達到第四預設閾值時,將媒體數據的數據緩存速率調整為零,其中所述第四預設閾值大于所述第三預設閾值。
第五實施例
請參閱圖5,圖5為本發明第五實施例提供的一種多媒體同步播放系統的運行環境示意圖。本實施例中所描述的多媒體同步播放系統,包括源設備100以及多個播放設備200,開始播放時由所述源設備100通過網絡向多個播放設備200發送媒體數據,所述多個播放設備200在緩存媒體數據的過程中進行同步播放,所述多個播放設備200通過網絡向所述源設備100反饋同步信息。所述多媒體同步播放系統可以執行本發明第一實施例和第二實施例提供的一種多媒體同步播放方法中所描述的實現方式,也可執行本發明第三實施例提供的一種多媒體同步播放裝置中所描述的實現方式,在此不再贅述。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
本發明實施例中,所述多媒體同步播放裝置與上文實施例中的一種多媒體同步播放方法屬于同一構思,在所述多媒體同步播放裝置上可以運行所述多媒體同步播放方法實施例中提供的任一方法,其具體實現過程詳見所述多媒體同步播放方法實施例,此處不再贅述。
需要說明的是,對本發明所述多媒體同步播放方法而言,本領域普通測試人員可以理解實現本發明實施例所述多媒體同步播放方法的全部或部分流程,是可以通過計算機程序來控制相關的硬件來完成,所述計算機程序可存儲于一計算機可讀取存儲介質中,如存儲在終端的存儲器中,并被該終端內的至少一個處理器執行,在執行過程中可包括如所述多媒體同步播放方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲器(ROM,Read Only Memory)、隨機存取記憶體(RAM,Random Access Memory)等。
對本發明實施例的所述多媒體同步播放裝置而言,其各功能模塊可以集成在一個處理芯片中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現,也可以采用軟件功能模塊的形式實現。所述集成的模塊如果以軟件功能模塊的形式實現并作為獨立的產品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中,所述存儲介質譬如為只讀存儲器,磁盤或光盤等。
以上對本發明實施例所提供的一種多媒體同步播放方法、裝置、終端及系統進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的技術方案及其核心思想;本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例的技術方案的范圍。