…"送 樣的媒體內(nèi)容組成的循環(huán)序列,每個(gè)媒體片段作為媒體文件中的一份媒體內(nèi)容存在。
[0046] S102 ;確定各份媒體內(nèi)容在所述組合媒體文件中的物理位置信息,W及各份媒體 內(nèi)容對(duì)應(yīng)的標(biāo)識(shí)信息;
[0047] 在得到上述組合媒體文件之后,由于目的是要讓存儲(chǔ)設(shè)備能夠感知具體被播放的 媒體內(nèi)容,因此,在本申請(qǐng)實(shí)施例中,還可W向組合媒體文件的數(shù)據(jù)中添加附加信息,送種 附加信息可W用于描述各份媒體內(nèi)容在組合媒體文件中的物理位置信息,W及各份媒體內(nèi) 容對(duì)應(yīng)的標(biāo)識(shí)信息。因此,可W首先確定出送兩方面的信息。
[0048] 其中,關(guān)于各份媒體內(nèi)容在組合媒體文件中的物理位置信息,可W通過(guò)各份媒體 內(nèi)容之間的順序W及各自所占的數(shù)據(jù)量來(lái)確定。例如,第一份媒體內(nèi)容為2M,則就可W將該 份媒體內(nèi)容的位置信息確定為第0到第2M,第二份媒體內(nèi)容為5M,則就可W將該份媒體內(nèi) 容的位置信息確定為第2M到第7M,等等。
[0049] 關(guān)于各份媒體內(nèi)容對(duì)應(yīng)的標(biāo)識(shí)信息,可W根據(jù)媒體內(nèi)容各自的名稱等來(lái)確定?;?者,在一些具體的應(yīng)用中,存儲(chǔ)設(shè)備需要確定的可能不是媒體內(nèi)容本身的一些信息,還可能 是與媒體內(nèi)容關(guān)聯(lián)的其他內(nèi)容的信息。例如,媒體內(nèi)容可能是關(guān)于某商品的廣告,但是,存 儲(chǔ)設(shè)備需要確定的是關(guān)于該商品的詳細(xì)信息、銷售信息等等。因此,媒體內(nèi)容對(duì)應(yīng)的標(biāo)識(shí)信 息可W是指,媒體內(nèi)容對(duì)應(yīng)的關(guān)聯(lián)內(nèi)容的標(biāo)識(shí)信息。其中,送種關(guān)聯(lián)內(nèi)容的標(biāo)識(shí)信息可W是 關(guān)聯(lián)內(nèi)容的網(wǎng)絡(luò)地址(例如U化)?;蛘撸瑸榱吮阌诖鎯?chǔ)設(shè)備通過(guò)預(yù)設(shè)的無(wú)線通訊模塊將送 種標(biāo)識(shí)信息提供給其他的終端設(shè)備,媒體文件數(shù)據(jù)中寫(xiě)入的標(biāo)識(shí)信息還可W是關(guān)聯(lián)內(nèi)容的 ID,同時(shí)在服務(wù)器端保存ID與網(wǎng)絡(luò)地址之間的關(guān)聯(lián)關(guān)系,送樣,當(dāng)存儲(chǔ)設(shè)備將送種ID信息 提供給其他終端設(shè)備之后,其他終端設(shè)備可W通過(guò)與服務(wù)器的交互,獲取到該ID信息對(duì)應(yīng) 的網(wǎng)絡(luò)地址,進(jìn)而,就可W通過(guò)加載該網(wǎng)絡(luò)地址對(duì)應(yīng)的頁(yè)面,獲取到對(duì)應(yīng)的關(guān)聯(lián)內(nèi)容。
[0050] 具體的,關(guān)聯(lián)內(nèi)容的網(wǎng)絡(luò)地址可W根據(jù)預(yù)置指定的方式確定的,當(dāng)然也可W通過(guò) 其他方式確定。關(guān)于關(guān)聯(lián)內(nèi)容的ID,可W由服務(wù)器端來(lái)統(tǒng)一分配。例如,可W將各份媒體內(nèi) 容的名稱清單上傳到服務(wù)器,由服務(wù)器為各份媒體內(nèi)容分配ID之后返回,送樣,就可W將 送種ID確定為媒體內(nèi)容對(duì)應(yīng)的標(biāo)識(shí)信息。當(dāng)然,在送種情況下,還可則尋各個(gè)關(guān)聯(lián)內(nèi)容的 網(wǎng)絡(luò)地址提交到服務(wù)器,由服務(wù)器保存ID與網(wǎng)絡(luò)地址之間的關(guān)聯(lián)關(guān)系。
[0051] S103;根據(jù)各份媒體內(nèi)容對(duì)應(yīng)的物理位置信息W及所述標(biāo)識(shí)信息生成附加信息, 添加到所述組合媒體文件的數(shù)據(jù)中,生成目標(biāo)媒體文件;
[0052] 在進(jìn)行文件的合并,并確定出各份媒體內(nèi)容對(duì)應(yīng)的物理位置信息W及所述標(biāo)識(shí)信 息之后,可W生成附加信息,并可W在合并后的文件尾部等處添加前述附加信息。例如,可 W定義一個(gè)叫XMD狂Media Description)的格式來(lái)描述一個(gè)大的組合媒體文件中包含的 各個(gè)子部分。因此,XMD的定義可W如下:
[00閲媒體內(nèi)容1
[0054] 媒體內(nèi)容1的標(biāo)識(shí)信息
[0055] 媒體內(nèi)容1在文件整體中的起始位置
[0056] 媒體內(nèi)容1在文件整體中的結(jié)束位置
[0057] 媒體內(nèi)容2
[005引媒體內(nèi)容2的標(biāo)識(shí)信息
[0059] 媒體內(nèi)容2在文件整體中的起始位置
[0060] 媒體內(nèi)容2在文件整體中的結(jié)束位置
[0061] ......
[0062] 其中,在實(shí)際應(yīng)用中,附加信息中除了前述各份媒體內(nèi)容的物理位置信息W及對(duì) 應(yīng)的標(biāo)識(shí)信息之外,還可W包括各個(gè)媒體內(nèi)容在文件中的起始時(shí)間等信息。因此,XMD的定 義可W如下:
[006引媒體內(nèi)容1
[0064] 媒體內(nèi)容1的標(biāo)識(shí)信息
[0065] 媒體內(nèi)容1在文件整體中的起始位置
[0066] 媒體內(nèi)容1在文件整體中的結(jié)束位置
[0067] 媒體內(nèi)容1在文件中的起始時(shí)間 [006引 媒體內(nèi)容2
[0069] 媒體內(nèi)容2的標(biāo)識(shí)信息
[0070] 媒體內(nèi)容2在文件整體中的起始位置
[0071] 媒體內(nèi)容2在文件整體中的結(jié)束位置
[0072] 媒體內(nèi)容2在文件中的起始時(shí)間
[0073] ......
[0074] 利用上述媒體內(nèi)容在文件中的起始時(shí)間,可W獲取到一些信息。例如,播放設(shè)備對(duì) 存儲(chǔ)設(shè)備中的媒體文件進(jìn)行播放時(shí),一般可能會(huì)先將數(shù)據(jù)讀取到緩存中,然后再進(jìn)行播放, 而有些情況下,存儲(chǔ)設(shè)備需要獲知數(shù)據(jù)從被讀取到被播放之間的時(shí)間差。此時(shí),就可W利用 上述媒體內(nèi)容在文件中的起始時(shí)間來(lái)獲取該時(shí)間差。例如,根據(jù)相鄰媒體內(nèi)容實(shí)際被開(kāi)始 讀取的時(shí)間,W及在媒體文件中的起始時(shí)間,確定出由于播放設(shè)備的緩存引起的媒體內(nèi)容 從被讀取到被播放之間的時(shí)間差。具體的,可W檢測(cè)第一媒體內(nèi)容開(kāi)始被讀取時(shí)的第一絕 對(duì)時(shí)間點(diǎn),W及該片段相鄰的第二媒體內(nèi)容被讀取時(shí)的第二絕對(duì)時(shí)間點(diǎn),計(jì)算送兩個(gè)絕對(duì) 時(shí)間點(diǎn)之間的第一差值;然后再?gòu)拿襟w文件的描述信息中,讀取出該第一媒體內(nèi)容的第一 起始時(shí)間,W及第二媒體內(nèi)容的第二起始時(shí)間,計(jì)算出送兩個(gè)起始時(shí)間之間的第二差值,之 后,再用第二差值減去第一差值,即可得到由于緩存引起的從讀取到播放之間的時(shí)間差。
[00巧]例如,假設(shè)A和B是媒體文件中相鄰的兩個(gè)媒體內(nèi)容,Timel為檢測(cè)到媒體內(nèi)容A 被讀取時(shí)的絕對(duì)時(shí)間點(diǎn),Timel_l為在XMD描述中關(guān)于媒體內(nèi)容A起始的時(shí)間點(diǎn);Time2為 檢測(cè)到媒體內(nèi)容B被讀取時(shí)的絕對(duì)時(shí)間點(diǎn),Time2_2為在XMD描述中關(guān)于媒體內(nèi)容B起始 的時(shí)間點(diǎn)。則由于緩存引起的時(shí)間差可W描述為:
[0076] (Time2_2 - Timel_l) - (Time2 - Timel)
[0077] S104 ;將所述目標(biāo)媒體文件保存到預(yù)置的存儲(chǔ)設(shè)備中。
[0078] 在組合媒體文件中添加了上述附加信息之后,就可W生成目標(biāo)媒體文件,并保存 到存儲(chǔ)設(shè)備中。具體應(yīng)用時(shí),可W將該存儲(chǔ)設(shè)備插接到播放設(shè)備上,播放設(shè)備可W對(duì)送種目 標(biāo)媒體文件進(jìn)行播放。
[0079] 總之,通過(guò)本申請(qǐng)實(shí)施例,可W將一些小的待播放媒體文件合并成大尺寸的組合 媒體文件,并在其中添加附件信息,該附加信息可W描述各份媒體內(nèi)容在組合媒體文件中 的物理位置信息W及對(duì)應(yīng)的標(biāo)識(shí)信息,送樣,由于組合后的媒體文件尺寸比較大,因此,在 播放器不可能去緩存整個(gè)文件,只能緩存當(dāng)前播放到的部分或者視頻文件的頭部信息,送 部分被緩存的數(shù)據(jù)僅是該大文件中的一小部分,因此,可W使得絕大部分時(shí)間,存儲(chǔ)設(shè)備都 是能夠感知到播放設(shè)備的訪問(wèn)操作。
[0080] 實(shí)施例二
[0081] 如前文所述,實(shí)施例一中生成的目標(biāo)媒體文件被存入存儲(chǔ)設(shè)備之后,可W通過(guò)播 放設(shè)備對(duì)存儲(chǔ)設(shè)備中的目標(biāo)媒體文件進(jìn)行播放,并且,存儲(chǔ)設(shè)備可W感知該目標(biāo)媒體文件 中的哪個(gè)媒體內(nèi)容正在被讀取,進(jìn)而可W確定出正在被讀取的媒體內(nèi)容實(shí)際被播放的時(shí) 間,送樣,如果某時(shí)刻接收到某終端設(shè)備的信息獲取請(qǐng)求,就可W確定出該時(shí)刻正在被播放 的媒體內(nèi)容對(duì)應(yīng)的標(biāo)識(shí)信息,并返回給終端設(shè)備。為此,該實(shí)施例二還提供了一種提供媒體 內(nèi)容信息的方法,該方法應(yīng)用于存儲(chǔ)設(shè)備中,其中,所述存儲(chǔ)設(shè)備設(shè)有無(wú)線通訊模塊(例如 藍(lán)牙模塊、BLE4. 0等),存儲(chǔ)設(shè)備中保存有目標(biāo)媒體文件,目標(biāo)媒體文件是通過(guò)將多個(gè)待存 儲(chǔ)媒體文件進(jìn)行合并,并在數(shù)據(jù)中添加附加信息后生成的,其中,在所述目標(biāo)媒體文件中, 各個(gè)待存儲(chǔ)媒體文件對(duì)應(yīng)該目標(biāo)媒體文件中的多份媒體內(nèi)容,附加信息包括各份媒體內(nèi)容 在所述目標(biāo)媒體文件中的物理位置信息,W及各份媒體內(nèi)容對(duì)應(yīng)的標(biāo)識(shí)信息;參見(jiàn)圖2,該 方法可W包括W下步驟:
[0082] S201 ;在所述目標(biāo)媒體文件被讀取的過(guò)程中,根據(jù)所述存儲(chǔ)設(shè)備數(shù)據(jù)區(qū)的被讀取 情況,確定在預(yù)置的采樣時(shí)間點(diǎn)正在被讀取的媒體內(nèi)容對(duì)應(yīng)的標(biāo)識(shí)信息;
[0083] 對(duì)于存儲(chǔ)設(shè)備側(cè),在一個(gè)媒體文件被讀取時(shí),由于被讀取的數(shù)據(jù)存儲(chǔ)在該存儲(chǔ)設(shè) 備上,因此,存儲(chǔ)設(shè)備可W感知到當(dāng)前被讀取數(shù)據(jù)單元所在的第一目標(biāo)簇標(biāo)識(shí)。也就是說(shuō), 在某簇中的數(shù)據(jù)單元被讀取時(shí),存儲(chǔ)設(shè)備側(cè)可W首先獲知該簇的標(biāo)識(shí)。
[0084] 由于播放設(shè)備一般會(huì)預(yù)先讀取緩存接下去要播放的內(nèi)容,有時(shí)候可達(dá)幾十兆內(nèi) 容之多,因此,可能出現(xiàn)的情況是,在片段1還沒(méi)有結(jié)束播放的時(shí)候片段2就已經(jīng)被讀取。 可見(jiàn),如果僅依靠檢測(cè)片段2起始內(nèi)容被讀取的時(shí)間作為片段2起始播放的時(shí)間會(huì)存在較 大的誤差。因此,在確定出某時(shí)刻正在被讀取的媒體內(nèi)容的標(biāo)識(shí)信息之后,還需要根據(jù)播放 設(shè)備從讀取到播放之間的時(shí)間差,才能確定該時(shí)刻正在被讀取的媒體內(nèi)容實(shí)際被播放的時(shí) 間。
[0085] 也就是說(shuō),在實(shí)際應(yīng)用中,在某時(shí)刻確定出某媒體內(nèi)容正在被讀取之后,還可能需 要向后延遲一定的時(shí)間,才是該媒體內(nèi)容實(shí)際被播放的時(shí)間。因此,如果需要確定的是當(dāng)前 正在播放的媒體內(nèi)容對(duì)應(yīng)的標(biāo)識(shí)信息,則可提前確定出該媒體內(nèi)容被讀取的時(shí)間。為此,在 本申請(qǐng)實(shí)施例中,可W預(yù)置一些采樣時(shí)間點(diǎn),例如,從整個(gè)媒體文件開(kāi)始播放時(shí)起,每隔5S 作為一個(gè)采樣時(shí)間點(diǎn),在每個(gè)采樣點(diǎn)確定出正在被讀取的媒體內(nèi)容對(duì)應(yīng)的標(biāo)識(shí)信息。具體 的,就可W首先確定出在采樣時(shí)間點(diǎn)被讀取數(shù)據(jù)單元所在的第一目標(biāo)簇標(biāo)識(shí)。
[0086] 也就是說(shuō),可W首先根據(jù)存儲(chǔ)設(shè)備數(shù)據(jù)區(qū)的被讀取情況,確定在各采樣時(shí)間點(diǎn)正 在被讀取的媒體內(nèi)容對(duì)應(yīng)的標(biāo)識(shí)信息,然后根據(jù)所述播放設(shè)備從讀取到播放之間的時(shí)間 差,確定當(dāng)前正在播放的媒體內(nèi)容對(duì)應(yīng)的關(guān)聯(lián)內(nèi)容的目標(biāo)標(biāo)識(shí)信息。
[0087] 其中,具體在確定某采樣時(shí)間點(diǎn)正在被讀取的媒體內(nèi)容對(duì)應(yīng)的關(guān)聯(lián)內(nèi)容的標(biāo)識(shí)信 息時(shí),可W如下方法:
[0088] 步驟一;確定數(shù)據(jù)區(qū)中在所述采樣時(shí)間點(diǎn)被讀取數(shù)據(jù)單元所在的第一目標(biāo)簇標(biāo) 識(shí);在播放媒體文件的過(guò)程中,在主機(jī)側(cè)(也即播放設(shè)備)的操作系統(tǒng)層面上面對(duì)的是文件 系統(tǒng)相關(guān)的概念,如文件句柄/定位/讀寫(xiě)操作等,但在到達(dá)存儲(chǔ)設(shè)備時(shí),會(huì)被翻譯成對(duì)數(shù) 據(jù)區(qū)塊的操作,送樣,在存儲(chǔ)設(shè)備側(cè),面對(duì)的是針對(duì)塊信息的讀寫(xiě)操作。也就是說(shuō),播放設(shè)備 的訪問(wèn)請(qǐng)求在到達(dá)存儲(chǔ)設(shè)備時(shí),雖然存儲(chǔ)設(shè)備能夠感知到該訪問(wèn)請(qǐng)求,但是,此時(shí)存儲(chǔ)設(shè)備 只能獲知播放設(shè)備請(qǐng)求訪問(wèn)的是哪個(gè)數(shù)據(jù)區(qū)塊中的數(shù)據(jù),而不能準(zhǔn)確知道當(dāng)前播放的是哪 個(gè)文件,因此,不能