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

巴彥淖爾網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站成立于2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
視頻播放包括播放控制、播放設(shè)置和播放查詢,如播放的開始/停止、播放速度設(shè)置和是否循環(huán)播放等。
接口說明
| 接口名 | 功能描述 |
|---|---|
| Player(Context context) | 創(chuàng)建Player實例。 |
| setSource(Source source) | 設(shè)置媒體源。 |
| prepare() | 準(zhǔn)備播放。 |
| play() | 開始播放。 |
| pause() | 暫停播放。 |
| stop() | 停止播放。 |
| rewindTo(long microseconds) | 拖拽播放。 |
| setVolume(float volume) | 調(diào)節(jié)播放音量。 |
| setVideoSurface(Surface surface) | 設(shè)置視頻播放的窗口。 |
| enableSingleLooping(boolean looping) | 設(shè)置為單曲循環(huán)。 |
| isSingleLooping() | 檢查是否單曲循環(huán)播放。 |
| isNowPlaying() | 檢查是否播放。 |
| getCurrentTime() | 獲取當(dāng)前播放位置。 |
| getDuration() | 獲取媒體文件總時長。 |
| getVideoWidth() | 獲取視頻寬度。 |
| getVideoHeight() | 獲取視頻高度。 |
| setPlaybackSpeed(float speed) | 設(shè)置播放速度。 |
| getPlaybackSpeed() | 獲取播放速度。 |
| setAudioStreamType(int type) | 設(shè)置音頻類型。 |
| getAudioStreamType() | 獲取音頻類型。 |
| setNextPlayer(Player next) | 設(shè)置當(dāng)前播放結(jié)束后的下一個播放器。 |
| reset() | 重置播放器。 |
| release() | 釋放播放資源。 |
| setPlayerCallback(IPlayerCallback callback) | 注冊回調(diào),接收播放器的事件通知或異常通知。 |
開發(fā)步驟
- 創(chuàng)建 Player 實例,可調(diào)用 Player(Context context),創(chuàng)建本地播放器,用于在本設(shè)備播放。
- 構(gòu)造數(shù)據(jù)源對象,并調(diào)用 Player 實例的 setSource(Source source)方法,設(shè)置媒體源,代碼示例如下:
Player impl = new Player(context);
File file = new File("/path/test_audio.aac");
in = new FileInputStream(file);
FileDescriptor fd = in.getFD(); // 從輸入流獲取FD對象
Source source = new Source(fd);
impl.setSource(source);
- 調(diào)用 prepare(),準(zhǔn)備播放。
- (可選)構(gòu)造 IPlayerCallback,IPlayerCallback 需要實現(xiàn) onPlayBackComplete 和 onError(int errorType, int errorCode) 兩個方法,實現(xiàn)播放完成和播放異常時做相應(yīng)的操作。代碼示例如下:
@Override
public void onPlayBackComplete() {
HiLog.info("[PlayerCallback]", "onPlayBackComplete");
if (impl != null) {
impl.stop();
impl = null;
}
}
@Override
public void onError(int errorType, int errorCode) {
HiLog.error("[PlayerCallback]", "onError");
}
- 調(diào)用 play() 方法,開始播放。
- (可選)調(diào)用 pause() 方法和 resume() 方法,可以實現(xiàn)暫停和恢復(fù)播放。
- (可選)調(diào)用 rewindTo(long microseconds) 方法實現(xiàn)播放中的拖拽功能。
- (可選)調(diào)用 getDuration() 方法和 getCurrentTime() 方法,可以實現(xiàn)獲取總播放時長以及當(dāng)前播放位置功能。
- 調(diào)用 stop() 方法停止播放。
- 播放結(jié)束后,調(diào)用 release() 釋放資源。
分享
文章題目:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS視頻播放開發(fā)指導(dǎo)
分享地址:http://m.fisionsoft.com.cn/article/cojogge.html


咨詢
建站咨詢
