容在具體實現(xiàn)時,可以根據(jù)實際需要確定是否傳送。
[0049] MT5將本地的音頻資源列表發(fā)送給主音箱,在發(fā)送時,可以以xml方式發(fā)送,但不 限于此方式,具體如下:
[0050] CN 105185391 A 說明書 5/11 頁
[0052] 主音箱將MT5響應(yīng)的音頻資源列表合并到本地存儲的共享音頻資源列表中,合并 后的音頻資源列表包含的內(nèi)容見表3。
CN 105185391 A 說明書 6/11 頁
[0054] 表 3
[0055] 由上述描述可見,一個用戶可以通過不同移動終端登錄主音箱,也可以只通過一 個移動終端登錄主音箱,發(fā)送給主音箱的音頻資源列表包含的內(nèi)容為對應(yīng)移動終端上的音 頻資源列表。
[0056] 這里以主音箱將共享音頻資源列表中所有的內(nèi)容發(fā)送給當前正在登錄的移動終 端為例,在發(fā)送時也可以以xml的方式發(fā)送。
[0057] 這樣,當前正在登錄的所有移動終端上均存在了這個共享音頻資源列表。
[0058] 如上文描述,一個用戶(用戶4)可以同時在多個移動終端(MT4和MT5)上登錄, 仍然可以進行音頻資源共享,不會使任何一個已登錄的移動終端掉線。
[0059] 因為資源共享是以移動終端為個體進行的,換句話說,共享的是登錄的移動終端 上的資源,而不是某一用戶上的資源。在上面的共享方式中,同一個用戶登錄多個移動終端 不會有沖突,因為每個音頻資源在列表中不僅對應(yīng)了某個用戶,還對應(yīng)了某個移動終端。而 用戶的作用在于獲得權(quán)限使用主音箱提供的服務(wù),以及與配置信息和歷史播放列表綁定, 在下文將進行詳細描述。
[0060] 下面結(jié)合附圖,詳細說明本申請實施例中實現(xiàn)多用戶音箱控制過程。
[0061] 參見圖2,圖2為本申請實施例中多用戶音箱控制流程示意圖。具體步驟為:
[0062] 步驟201,主音箱接收到任一用戶通過一移動終端選擇一音頻名稱而發(fā)送的播放 請求時,獲取該用戶的配置信息并進行配置。
[0063] 當該主音箱接收到任一用戶通過移動終端發(fā)送的配置信息時,確定本地是否已記 錄該用戶的配置信息,如果是,使用接收到的配置信息更新記錄的配置信息;否則,將接收 到的配置信息記錄為該用戶的配置信息;
[0064] 本申請實施例中,主音箱會配置一個默認配置信息。
[0065] 主音箱獲取該用戶的配置信息,包括:
[0066] 主音箱確定本地是否已存儲該用戶的配置信息,如果是,獲取本地存儲的該用戶 的配置信息;否則,獲取本音箱默認的配置信息作為該用戶的配置信息。
[0067] 主音箱根據(jù)該用戶的配置信息進行配置的具體實現(xiàn)可以如下:
[0068] 該主音箱若根據(jù)配置信息確定需其它音箱協(xié)同播放時,根據(jù)配置信息中的聲道信 息,在本地進行均衡配置;并根據(jù)所述聲道信息搜索其它音箱,在搜索到聲道配置信息中指 示的所有音箱時,將各音箱對應(yīng)的聲道信息、以及均衡配置信息發(fā)送給對應(yīng)的音箱,使各音 箱進行自身的均衡配置。
[0069] 該主音箱若根據(jù)配置信息確定僅通過自身播放時,根據(jù)獲取的配置信息在本地進 行配置。
[0070] 在具體應(yīng)用中,用戶在發(fā)送播放請求時,可以在本地的音頻資源播放列表中選擇 音頻名稱發(fā)送播放請求,也可以在共享音頻資源播放列表中選擇音頻名稱發(fā)送播放請求。
[0071] 仍然以圖1為例,假設(shè)用戶4通過移動終端MT5發(fā)送播放songjnt 1_2的請求。這 里以從共享音頻資源播放列表中選擇音頻名稱發(fā)送播放請求為例。
[0072] 主音箱接收到該請求時,確定本地是否存在用戶4的配置信息,如果是,使用用戶 4的配置信息進行配置;否則,使用主音箱的默認配置信息進行配置。
[0073] 本申請實施例中以存在用戶4的配置信息為例,并在配置信息中指定使用主音箱 和兩個子音箱(子音箱1和子音箱2)共同播放。
[0074] 假設(shè)根據(jù)配置信息確定middle對應(yīng)主音箱本身,front-left對應(yīng)子音箱1, front-right對應(yīng)子音箱2〇
[0075] 主音箱搜索自身所在局域網(wǎng)中的子音箱1和子音箱2,并與兩個子音箱建立連接。
[0076] 主音箱在本地進行主音箱均衡配置,并將配置信息中的聲道信息和各子音箱的均 衡配置信息發(fā)送給對應(yīng)的子音箱。
[0077] 子音箱1和子音箱2接收到對應(yīng)的聲道信息和子音箱的均衡配置信息時,進行子 音箱的均衡配置和聲道配置,并向主音箱響應(yīng)配置成功消息。
[0078] 主音箱接收到子音箱1和子音箱2響應(yīng)配置成功的消息后,確定song_mtl_2的屬 主為MT1,即該音頻名稱對應(yīng)的音頻流所在的終端設(shè)備。
[0079] 主音箱如果沒有接收子音箱1和/或子音箱2響應(yīng)的配置成功的消息,則使用音 箱的默認配置信息進行配置。
[0080] 步驟202,該主音箱若根據(jù)本地存儲的共享音頻資源列表確定所述音頻名稱對應(yīng) 的音頻流在該移動終端之外的移動終端上,則通知該音頻流所在的移動終端發(fā)送該音頻流 給本音箱。
[0081] 該主音箱若根據(jù)本地存儲的共享音頻資源列表確定所述音頻名稱對應(yīng)的音頻流 在該移動終端上,則通知該移動終端發(fā)送該音頻流給本音箱;
[0082] 接收到該音頻流時,根據(jù)所述配置播放該音頻流。
[0083] 仍然以圖1為例,主音箱接收到子音箱1和子音箱2響應(yīng)的配置成功的消息為例, 根據(jù)本地存儲的共享音頻資源列表確定song_mtl_2的屬主為移動終端MTl,則通知移動終 端MTl發(fā)送該音頻流給本主音箱。
[0084] 步驟203,該主音箱接收到該音頻流時,根據(jù)所述配置播放該音頻流。
[0085] 主音箱根據(jù)所述配置播放該音頻流,在配置信息中僅指定使用主音箱播放時,直 接根據(jù)配置信息播放;若在配置信息中指定主音箱和子音箱協(xié)同播放時,具體為:
[0086] 該主音箱將該音頻流復制并分別發(fā)送給對應(yīng)的音箱,使各音箱根據(jù)自身的聲道配 置信息解碼出自身聲道的音頻信息并響應(yīng)本音箱;
[0087] 該主音箱接收到聲道信息中指示的所有音箱的響應(yīng)后,通知各音箱在同一時刻開 始播放該音頻流。
[0088] 仍然以圖1中,由主音箱和兩個子音箱協(xié)同播放song_mtl_2為例。主音箱接收到 移動終端MTl發(fā)送的音頻流時,復制3份,其中2份分別發(fā)送給子音箱1和子音箱2, 一份緩 存在本地。
[0089] 子音箱1和子音箱2接收到song_mtl_2對應(yīng)的音頻流時,根據(jù)聲道配置信息從音 頻流中解碼出對應(yīng)的音頻信息,緩存,并響應(yīng)主音箱已解碼完畢,使主音箱獲知可以隨時播 放。
[0090] 主音箱在向子音箱發(fā)送音頻流時,自身也從所述音頻流中解碼出對應(yīng)的音頻信息 并緩存;待接收到兩個子音箱都響應(yīng)解碼完畢的響應(yīng)后,通知子音箱1和子音箱2在同一時 刻(可以指定一個時間點)播放該音頻流,主音箱在會在該時刻播放音頻流,從而完成音頻 流的播放。
[0091] 下面結(jié)合附圖,詳細描述本申請實施例中主音箱針對上傳到本地的音頻流的處 理。
[0092] 參見圖3,圖3本申請實施例中主音箱處理音頻流的流程示意圖。具體步驟為:
[0093] 步驟301,主音箱接收到任一用戶通過一移動終端發(fā)送的音頻流。
[0094] 步驟302,該主音箱向發(fā)送播放該音頻流請求的移動終端詢問是否在本音箱上存 儲該音頻流。
[0095] 步驟303,該主音箱當接收到該移動終端允許本音箱存儲該音頻流的應(yīng)答時,為發(fā) 起播放該音頻流請求的用戶建立歷史播放列表,將該音頻流的名稱增加到該歷史播放列表 中,并為該歷史播放列表配置訪問權(quán)限。
[0096] 當確定已存儲發(fā)起播放該音頻流請求的用戶對應(yīng)的歷史播放列表,則直接在已存 在的歷史播放列表中增加該音頻流的名稱即可。
[0097] 主音箱為歷史播放列表配置訪問權(quán)限時,可以根據(jù)實際需要配置,如僅配置該用 戶可以訪問該播放列表播放音頻流,也可以配置該用戶和某些用戶可以訪問該播放列表播 放音頻流。
[0098] 當該主音箱當接收到該移動終端允許本音箱存儲該音頻流的應(yīng)答時,待該音頻流 播放結(jié)束,不刪除本地存儲的該音頻流。
[0099] 在具體實現(xiàn)時,還可以默認管理員均可訪問所有歷史播放列表。
[0100] 步驟304,該主音箱當接收到該移動終端不允許本音箱存儲該音頻流的應(yīng)答時,待 該音頻流播放結(jié)束,刪除本地存儲的該音頻流。
[0101] 當任一用戶通過移動終端登錄本音箱時,若存在該用戶具有權(quán)限訪問的歷史播放 列表時,將該歷史播放列表發(fā)送給該移動終端。
[0102] 在具體實現(xiàn)時,該主音箱將該歷史播放列表發(fā)送給移動終端時,用戶可以通過該 移動終端直接播放歷史列表中音頻流名稱對應(yīng)的音頻流,不需要再由存儲該音頻流的移動 終端向主音箱發(fā)送音頻流。這里,主音箱發(fā)送給移動終端的歷史播放列表僅僅是一個列表, 不發(fā)送對應(yīng)的音頻流。
[0103] 本申請實施例中用戶可以自定義本用戶