新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS視頻提取開發(fā)指導(dǎo)
場景介紹

創(chuàng)新互聯(lián)公司網(wǎng)絡(luò)公司擁有十載的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗(yàn),上1000家客戶的共同信賴。提供成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、網(wǎng)站開發(fā)、網(wǎng)站定制、買友情鏈接、建網(wǎng)站、網(wǎng)站搭建、響應(yīng)式網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計(jì)師打造企業(yè)風(fēng)格,提供周到的售前咨詢和貼心的售后服務(wù)
視頻提取主要工作是將多媒體文件中的音視頻數(shù)據(jù)進(jìn)行分離,提取出音頻、視頻數(shù)據(jù)源。
接口說明
| 接口名 | 功能描述 |
|---|---|
| Extractor() | 創(chuàng)建 Extractor 實(shí)例。 |
| setSource(Source source) | 設(shè)置媒體播放源。 |
| getStreamFormat(int id) | 獲取對(duì)應(yīng)索引的軌道數(shù)據(jù)的格式。 |
| getTotalStreams() | 獲取媒體文件中總軌道數(shù)。 |
| selectStream(int id) | 根據(jù)軌道號(hào)選擇媒體文件中對(duì)應(yīng)的軌道。 |
| unselectStream(int id) | 取消軌道選擇。 |
| rewindTo(long microseconds, int mode) | 根據(jù)時(shí)間和 mode 跳轉(zhuǎn)到指定幀。 |
| next() | 跳轉(zhuǎn)到下一幀。 |
| readBuffer(ByteBuffer buf, int offset) | 讀取解復(fù)用后的數(shù)據(jù)。 |
| getStreamId() | 獲取當(dāng)前軌道號(hào)。 |
| getFrameTimestamp() | 獲取當(dāng)前媒體數(shù)據(jù)幀的時(shí)間戳。 |
| getFrameSize() | 獲取當(dāng)前媒體數(shù)據(jù)幀的數(shù)據(jù)大小。 |
| getFrameType() | 獲取當(dāng)前媒體數(shù)據(jù)幀的flags。 |
| release() | 釋放資源。 |
開發(fā)步驟
- 調(diào)用 Extractor() 方法創(chuàng)建 Extractor 實(shí)例。
- 構(gòu)造數(shù)據(jù)源對(duì)象,并調(diào)用 Extractor 實(shí)例的 setSource(Source source) 方法,設(shè)置媒體源,代碼示例如下:
Extractor extractor = new Extractor();
FileDescriptor fd = in.getFD();
Source source = new Source(fd);
extractor.setSource(source);
- 調(diào)用 getTotalStreams() 方法獲取媒體的軌道數(shù)量。
- 調(diào)用 selectStream(int id) 方法選擇特定軌道的數(shù)據(jù),進(jìn)行提取。
- (可選)調(diào)用 unselectStream(int id) 方法取消選擇軌道。
- (可選)調(diào)用 rewindTo(long microseconds, int mode) 方法實(shí)現(xiàn)提取過程中的跳轉(zhuǎn)指定位置。
- 調(diào)用 readBuffer(ByteBuffer buf, int offset) 方法,可以實(shí)現(xiàn)獲取提取出來的 Buffer 數(shù)據(jù)功能。
- 調(diào)用 next() 方法,實(shí)現(xiàn)提取下一幀的功能。
- (可選)調(diào)用 getMediaStreamId() 方法,可以實(shí)現(xiàn)獲取當(dāng)前選擇的軌道編號(hào)的功能。
- (可選)調(diào)用 getFrameTimestamp() 方法,可以實(shí)現(xiàn)獲取當(dāng)前軌道內(nèi)媒體數(shù)據(jù)幀時(shí)間戳的功能。
- (可選)調(diào)用 getFrameSize() 方法,可以實(shí)現(xiàn)獲取當(dāng)前軌道的媒體數(shù)據(jù)幀大小的功能。
- (可選)調(diào)用 getFrameType() 方法,可以實(shí)現(xiàn)獲取當(dāng)前軌道的媒體數(shù)據(jù)幀 flags 的功能。
- 提取結(jié)束后,調(diào)用 release() 釋放資源。
分享標(biāo)題:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS視頻提取開發(fā)指導(dǎo)
當(dāng)前URL:http://m.fisionsoft.com.cn/article/djohejg.html


咨詢
建站咨詢
