国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Media Source Extension官方文檔(第二部分)

HackerShell / 1315人閱讀

摘要:對象表示元素的一個媒體數(shù)據(jù)源。對象由應(yīng)用創(chuàng)建然后綁定到元素上。當(dāng)需要播放的時候,從對象中讀取媒體數(shù)據(jù)。每個對象都由一個實(shí)時的可檢索的變量來存儲歸一化后的對象。類型,只讀對象的當(dāng)前狀態(tài),剛創(chuàng)建的時候一定是。和方法會更新在特定的情況下。

2. MediaSource Object

MediaSource對象表示HTMLMediaElement元素的一個媒體數(shù)據(jù)源。它會記錄源的readyState和一個可以添加媒體數(shù)據(jù)去展示的SourceBuffer對象的列表。MediaSource對象由web應(yīng)用創(chuàng)建然后綁定到HTMLMediaElement元素上。web應(yīng)用通過添加SourceBuffer對象給sourceBuffers屬性從而添加媒體數(shù)據(jù)到source中。當(dāng)需要播放的時候,HTMLMediaElement從MediaSource對象中讀取媒體數(shù)據(jù)。

每個MediaSource對象都由一個實(shí)時的可檢索的range變量來存儲歸一化后的TimeRanges對象。當(dāng)MediaSource對象創(chuàng)建的時候這個變量初始化為一個空的TimeRanges對象,通過setLiveSeekableRange() 和 clearLiveSeekableRange()方法來維護(hù),然后通過HTMLMediaElement Extensions 來更改HTMLMediaElement.seekable屬性。
ReadyState

狀態(tài)值 描述
closed 表示source還沒有綁定到media元素上
open source被media元素打開并且有可用的SourceBuffer對象在sourceBuffers中
ended source還被綁定在media元素上,但是endOfStream() 執(zhí)行過了

構(gòu)造函數(shù)

[Constructor]
interface MediaSource : EventTarget {
    readonly attribute SourceBufferList    sourceBuffers;
    readonly attribute SourceBufferList    activeSourceBuffers;
    readonly attribute ReadyState          readyState;
             attribute unrestricted double duration;
             attribute EventHandler        onsourceopen;
             attribute EventHandler        onsourceended;
             attribute EventHandler        onsourceclose;
    SourceBuffer addSourceBuffer(DOMString type);
    void         removeSourceBuffer(SourceBuffer sourceBuffer);
    void         endOfStream(optional EndOfStreamError error);
    void         setLiveSeekableRange(double start, double end);
    void         clearLiveSeekableRange();
    static boolean isTypeSupported(DOMString type);
};
2.1 屬性值

sourceBuffers 類型:SourceBufferList,只讀
MediaSource相關(guān)的SourceBuffer列表,當(dāng)readyState=="closed"的時候總是空的,一旦readyState變?yōu)?open"狀態(tài)時,就可以通過 addSourceBuffer()方法添加SourceBuffer對象到列表中

activeSourceBuffers 類型:SourceBufferList,只讀

sourceBuffers中selected video track, the enabled audio track(s), and the "showing" or "hidden" text track(s)的一個子集。

readyState 類型:ReadyState,只讀
MediaSource對象的當(dāng)前狀態(tài),剛創(chuàng)建的時候一定是‘closed’。

duration 類型:unrestricted double
MediaSource剛創(chuàng)建的時候,初始化值為NaN。
如何獲取?

如果readyState為closed,則返回NaN,這一步可以丟棄

返回該屬性當(dāng)前值
如何設(shè)置?

如果設(shè)置了負(fù)值或者NaN,會拋出TypeError異常,并丟棄剩余步驟

如果readyState不是open,會拋出InvalidStateError異常,并丟棄剩余步驟

sourceBuffers屬性中的任何一個SourceBuffer的updating值為true, ,會拋出InvalidStateError異常,并丟棄剩余步驟

運(yùn)行duration change algorithm算法可以設(shè)置新的duration給當(dāng)前屬性

Note
如果當(dāng)前有更高end time的緩沖幀,duration change algorithm會調(diào)整新的更大的duration。
appendBuffer()和 endOfStream()方法會更新duration在特定的情況下。

onsourceopen 類型:EventHandler
sourceopen事件的處理回調(diào)

onsourceended 類型:EventHandler
sourceended事件的處理回調(diào)

onsourceclose 類型:EventHandler
sourceclose事件的處理回調(diào)

2.2 方法

addSourceBuffer
入?yún)ⅲ簍ype, 返回SourceBuffer對象,調(diào)用如:

sourceBuffer = ms.addSourceBuffer("video/mp4; codecs="avc1.4d401f"");

添加一個新的SourceBuffer對象到sourceBuffers屬性,接下來ua需要執(zhí)行:

如果type為空字符串(""),則拋出TypeError異常,并丟棄剩余步驟

如果type為不支持的MIME類型,則拋出 NotSupportedError異常,并丟棄剩余步驟

如果ua不能處理更多的SourceBuffer內(nèi)容,則拋出QuotaExceededError異常,并丟棄剩余步驟

比如當(dāng)媒體元素到了HAVE_METADATA狀態(tài)的時候,ua就不支持播放中更多track的添加了

如果readyState不是open,則拋出InvalidStateError異常,并丟棄剩余步驟

常見一個新的SourceBuffer對象和相關(guān)資源

設(shè)置新對象的generate timestamps flag為相關(guān)類型的[MSE-REGISTRY] entry

如果generate timestamps flag值為true,設(shè)置新對象的mode屬性為“sequence”,否則設(shè)置為“segments”

把新對象添加到sourceBuffers中,并且觸發(fā)一個addsourcebuffer事件

返回這個新對象

removeSourceBuffer

endOfStream
入?yún)ⅲ篹rror(EndOfStreamError),無返回值

setLiveSeekableRange*
更新 HTMLMediaElement Extensions元素的live seekable range變量

clearLiveSeekableRange*

isTypeSupported* static
檢測MediaSource對象是否支持創(chuàng)建特定MIME類型的SourceBuffer

只代表瀏覽器是否支持的能力,不代表addSourceBuffer()方法有足夠的資源創(chuàng)建新的SourceBuffer

2.3 事件
事件名稱 描述
sourceopen readyState 從close到open 或 從ended到open
sourceended readyState 從open到ended
sourceclose readyState 從open到closed 或 從open到ended
2.4 算法(待補(bǔ)充)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/91967.html

相關(guān)文章

  • Media Source Extension官方文檔二部

    摘要:對象表示元素的一個媒體數(shù)據(jù)源。對象由應(yīng)用創(chuàng)建然后綁定到元素上。當(dāng)需要播放的時候,從對象中讀取媒體數(shù)據(jù)。每個對象都由一個實(shí)時的可檢索的變量來存儲歸一化后的對象。類型,只讀對象的當(dāng)前狀態(tài),剛創(chuàng)建的時候一定是。和方法會更新在特定的情況下。 2. MediaSource Object MediaSource對象表示HTMLMediaElement元素的一個媒體數(shù)據(jù)源。它會記錄源的readySt...

    Julylovin 評論0 收藏0
  • Media Source Extension官方文檔一部

    摘要:特性描述了實(shí)例允許的二進(jìn)制流格式。一個對象必須支持以下至少一個設(shè)置一個擁有音頻和或視頻的兩個,其中一個單獨(dú)處理音頻軌道,一個單獨(dú)處理視頻軌道一個二進(jìn)制流數(shù)據(jù)結(jié)構(gòu),提供了單個需要的,設(shè)置和其他。用于識別二進(jìn)制流數(shù)據(jù)屬于那個的標(biāo)識。 摘要 本說明通過允許javascript來生成看到播放的流媒體擴(kuò)展了HTMLMediaElement[HTML51]對象。允許javascript來生成流促進(jìn)...

    wangbinke 評論0 收藏0

發(fā)表評論

0條評論

HackerShell

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<