伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于開源鴻蒙的AVPlayer視頻播控開發樣例

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 2025-08-21 10:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【拆·應用】是為開源鴻蒙應用開發者打造的技術分享平臺,是匯聚開發者的技術洞見與實踐經驗、提供開發心得與創新成果的展示窗口。誠邀您踴躍發聲,期待您的真知灼見與技術火花!

樣例簡介

在開源鴻蒙生態建設中,多媒體能力是構建豐富用戶體驗的核心要素。本開發樣例基于AVPlayer實現,AvPlayer支持流媒體和本地資源解析、媒體資源解封裝、視頻解碼和渲染功能,適用于對媒體資源進行端到端播放的場景,可直接播放mp4、mkv等格式的視頻文件,為開發者提供標準化視頻功能實現路徑,助力構建高性能、可定制的多媒體應用。

使用說明

操作面板喚起:首頁點擊播放按鈕,視頻開始播放;再次點擊畫面進入全屏模式點擊視頻界面,喚起視頻操作面板,再次點擊操作面板消失,如果不做任何操作,操作界面會5s自動消失。

a08e33d0-7ce5-11f0-a18e-92fbcf53809c.png

視頻播控:點擊暫停/播放按鈕,控制視頻暫停播放。

a09c61b2-7ce5-11f0-a18e-92fbcf53809c.png

滑動進度條:視頻跳轉到指定位置播放,在中間區域顯示時間進度。

a0a87d80-7ce5-11f0-a18e-92fbcf53809c.png

倍速切換:可以選擇1.0、1.25、1.75、2.0進行倍速調節。

a0b7cab0-7ce5-11f0-a18e-92fbcf53809c.png

視頻切換:連接網絡能在本地視頻和網絡視頻進行切換。注意:network是網絡視頻,檢測到沒有連接網絡會退出應用。

a0c4878c-7ce5-11f0-a18e-92fbcf53809c.png

音軌切換:點擊AudioTrack音軌列表選擇框,可以選擇音軌進行切換。

a0d528e4-7ce5-11f0-a18e-92fbcf53809c.png

縮略圖獲取:點擊進入獲取縮略圖界面,可以獲取視頻的縮略圖。

a0e21c84-7ce5-11f0-a18e-92fbcf53809c.png

外掛字幕:點擊Subtitle開關列表選擇框,可以切換外掛字幕是否顯示。

a0f14236-7ce5-11f0-a18e-92fbcf53809c.png

樣例代碼拆解

下面是各個功能模塊代碼邏輯詳細分解。樣例源碼鏈接:

https://gitcode.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Media/VideoPlay

播控模塊:包括視頻播放、暫停、定點播放、倍速播放等。

1.視頻播放

a)視頻播放窗口在CoverXComponent自定義組件中實現。

a0fe0872-7ce5-11f0-a18e-92fbcf53809c.png

b) CoverXComponent中創建XComponent組件,并在onLoad中初始化視頻。

a10b44e2-7ce5-11f0-a18e-92fbcf53809c.png

c) 初始化視頻中創建視頻播放器,并監聽播放狀態變化。

a1186564-7ce5-11f0-a18e-92fbcf53809c.png

d) 在監聽播放狀態中,等到達prepared狀態時,調用avPlayer.play()播放視頻

a128e8c6-7ce5-11f0-a18e-92fbcf53809c.png

2.視頻暫停

a)暫停按鈕繪制在VideoOperate組件中。

a1380da6-7ce5-11f0-a18e-92fbcf53809c.png

b) 使用Image組件繪制播放、暫停按鈕圖標,點擊調用視頻暫停、播放接口

a145aa06-7ce5-11f0-a18e-92fbcf53809c.png

3.視頻定點播放

a) 使用Slider組件繪制視頻進度條,并設置拖動或點擊時觸發事件回調。

a150c440-7ce5-11f0-a18e-92fbcf53809c.png

b) 在回調事件中,調用avPlayer.seek接口進行視頻定點播放。

a161d1f4-7ce5-11f0-a18e-92fbcf53809c.png

4.視頻倍速設置

a)使用Button組件作為倍速選擇按鈕,點擊后打開倍速選擇彈框。

a16dd292-7ce5-11f0-a18e-92fbcf53809c.png

b) 通過CustomDialogController自定義彈框實現倍速選擇。

a1876ec8-7ce5-11f0-a18e-92fbcf53809c.png

c) SpeedDialog組件中通過List實現1.0X、1.25X、1.75X、2.0X倍速選擇。

a191b7a2-7ce5-11f0-a18e-92fbcf53809c.png

d) List點擊事件中,設置視頻播放具體倍速。

a1a06f72-7ce5-11f0-a18e-92fbcf53809c.png

e) 調用avPlayer.setSpeed()設備倍速。

a1ad8414-7ce5-11f0-a18e-92fbcf53809c.png

a1bdd4fe-7ce5-11f0-a18e-92fbcf53809c.png

視頻切換:設備聯網后,本地視頻和網絡視頻都可以播放。

a) 首先是Row容器組件,組件中包含列表圖標,播放的視頻名稱,和列表下拉圖標。并在點擊事件中設置isShow為true或false,控制視頻列表VideoPanel是否展示。

a1ca43ce-7ce5-11f0-a18e-92fbcf53809c.png

b) 通過VideoPanel繪制視頻列表,點擊切換視頻。

a1dcd462-7ce5-11f0-a18e-92fbcf53809c.png

c) VideoPanel中通過List組件繪制視頻列表,包括視頻名稱、是否當前播放,點擊后調用VideoChoose切換視頻播放。

a1e97488-7ce5-11f0-a18e-92fbcf53809c.png

d) 如下圖所示,VideoChoose中調用videoReset,即avPlayer.reset重置視頻。

a1f99afc-7ce5-11f0-a18e-92fbcf53809c.png

a20316a4-7ce5-11f0-a18e-92fbcf53809c.png

音軌切換:視頻音軌切換,即視頻有多種語言配音可進行音軌切換。

a) 通過Select組件繪制,并通過onSelect調用setAudioTrack接口設置音軌。

a20f3dbc-7ce5-11f0-a18e-92fbcf53809c.png

b) setAudioTrack中,通過deselectTrack和selectTrack進行音軌切換。

a21b69e8-7ce5-11f0-a18e-92fbcf53809c.png

字幕展示:設備聯網后,點擊字幕開,在視頻下方展示外掛字幕。

a) 通過Select組件繪制,并在onSelect調用setSubtitleState打開、關閉字幕。

a22c1eb4-7ce5-11f0-a18e-92fbcf53809c.png

b) setSubtitleState中設置當前的字幕狀態。

a2397a50-7ce5-11f0-a18e-92fbcf53809c.png

c) 通過Text組件顯示字幕。

a245493e-7ce5-11f0-a18e-92fbcf53809c.png

a2518000-7ce5-11f0-a18e-92fbcf53809c.png

d) this.text是監聽subtitleUpdate獲取的字幕內容。

a2655c24-7ce5-11f0-a18e-92fbcf53809c.png

縮略圖獲取:視頻跳轉到指定位置播放,在中間區域顯示時間進度。

a) 通過createAVMetadataExtractor從媒體資源中提取元數據,作為縮略圖。通過createAVImageGenerator從視頻資源中獲取指定時間的縮略圖。

a270db76-7ce5-11f0-a18e-92fbcf53809c.png

結語

以上是本次樣例具體功能模塊的實現,通過本樣例讓開發者們了解到如何使用AVPlayer開發視頻播放功能,包括創建AVPlayer、設置播放資源和窗口、設置播放倍速、播放控制(播放/暫停/跳轉/停止)、重置銷毀資源、字幕展示等;除此之外,開源鴻蒙也提供了豐富的基礎組件和其他功能模塊,依托開源特性可靈活定制底層功能,借助分布式架構實現 “一次開發,多端部署”,大幅降低跨設備協同開發成本,一系列配套的開發工具和教程可讓開發者快速上手,歡迎更多的開發者加入到開源鴻蒙應用開發中,創造更多奇思妙想的應用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 視頻
    +關注

    關注

    6

    文章

    2006

    瀏覽量

    75036
  • 開源
    +關注

    關注

    3

    文章

    4267

    瀏覽量

    46326
  • avplayer
    +關注

    關注

    0

    文章

    5

    瀏覽量

    1059
  • 鴻蒙
    +關注

    關注

    60

    文章

    2991

    瀏覽量

    46078

原文標題:拆·應用丨第2期:基于開源鴻蒙的AVPlayer視頻播控開發樣例

文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于開源鴻蒙視頻播放開發

    開源鴻蒙生態建設中,多媒體能力是構建豐富用戶體驗的核心要素。本開發針對視頻播放場景,聚焦
    的頭像 發表于 08-19 10:41 ?1699次閱讀
    基于<b class='flag-5'>開源</b><b class='flag-5'>鴻蒙</b>的<b class='flag-5'>視頻</b>播放<b class='flag-5'>開發</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>

    基于開源鴻蒙的語音識別及語音合成應用開發

    本期內容由AI Model SIG提供,介紹了在開源鴻蒙中,利用sherpa_onnx開源三方庫進行ASR語音識別與TTS語音合成應用開發的流程。
    的頭像 發表于 08-25 14:26 ?4275次閱讀
    基于<b class='flag-5'>開源</b><b class='flag-5'>鴻蒙</b>的語音識別及語音合成應用<b class='flag-5'>開發</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>

    在HarmonyOS中使用AVPlayer播放流媒體

    在 HarmonyOS 中,使用 AVPlayer 播放流媒體,不是“能就行”,而是要“穩、準、快、可控”。
    的頭像 發表于 10-15 11:45 ?2046次閱讀
    在HarmonyOS中使用<b class='flag-5'>AVPlayer</b>播放流媒體

    基于開源鴻蒙的圖片編輯開發(1)

    本期內容介紹基于開源鴻蒙在RK3568上開發圖片編輯的全流程,分為上篇和下篇,本篇為上篇,主要介紹添加相冊圖片、編譯圖片功能。
    的頭像 發表于 10-31 09:16 ?3130次閱讀
    基于<b class='flag-5'>開源</b><b class='flag-5'>鴻蒙</b>的圖片編輯<b class='flag-5'>開發</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>(1)

    基于開源鴻蒙的圖片編輯開發(2)

    本期內容介紹基于開源鴻蒙在RK3568上開發圖片編輯的全流程,分為上篇和下篇,本篇為下篇,主要介紹標記、保存圖片功能。
    的頭像 發表于 10-31 09:19 ?3266次閱讀
    基于<b class='flag-5'>開源</b><b class='flag-5'>鴻蒙</b>的圖片編輯<b class='flag-5'>開發</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>(2)

    鴻蒙開發-視頻播放器方案

    在HarmonyOS系統中,提供兩種視頻播放開發的方案: [AVPlayer]:功能較完善的音視頻播放ArkTS/JS API,集成了流媒體和本地資源解析,媒體資源解封裝,
    發表于 02-19 17:20

    鴻蒙5開發寶藏案例分享---在線短視頻流暢切換

    “別卷了!鴻蒙官方早把‘性能優化外掛’塞你手里了,就藏在開發者聯盟的【最佳實踐】里!” 兄弟們,最近在鴻蒙開發者聯盟里扒文檔時, 無意間挖到個寶藏分區——【最佳實踐】 **。好家伙!幾
    發表于 06-12 11:31

    鴻蒙開源全場景應用開發資料匯總

    1、鴻蒙開源全場景應用開發——視頻編解碼面對鴻蒙這一全新的生態,廣大消費者在積極嘗鮮的同時,家中不可避免會出現安卓設備和
    發表于 03-23 10:09

    HarmonyOS音頻開發指導:使用AVPlayer開發音頻播放功能

    播放API,有助于降低開發工作量,實現更佳的音頻播放效果。 ● ??AVPlayer??:功能較完善的音頻、視頻播放ArkTS/JS API,集成了流媒體和本地資源解析、媒體資源解封裝、音頻解碼和音頻
    發表于 10-19 14:26

    openharmony開源社區 OpenHarmony開發上新了

    openharmony開源社區 OpenHarmony開發上新了 OpenHarmony 開源項目是由開放原子
    的頭像 發表于 04-25 16:37 ?3498次閱讀

    OpenHarmony創意開發亮相HDC2022 共創欣欣向榮的“開源雨林”

    開發展品,適配OpenHarmony的各個版本,滿足不同行業與開發者對不同類型設備的開發,讓到場的不少
    的頭像 發表于 11-22 17:38 ?1425次閱讀
    OpenHarmony創意<b class='flag-5'>開發</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>亮相HDC2022 共創欣欣向榮的“<b class='flag-5'>開源</b>雨林”

    2025開源鴻蒙開發者大會圓滿落幕

    近日,開源鴻蒙開發者大會2025(OHDC.2025,簡稱“大會”)在深圳隆重開幕。大會正式發布了開源鴻蒙5.1 Release版本,舉行了
    的頭像 發表于 05-26 17:03 ?1446次閱讀

    華為亮相2025開源鴻蒙開發者大會

    近日,開源鴻蒙開發者大會2025(以下簡稱大會)在深圳成功舉辦。大會以開源鴻蒙5.1 Release版本發布為契機,聚焦
    的頭像 發表于 05-29 09:07 ?1384次閱讀

    開鴻開發板深度體驗:從開源鴻蒙開發到AI場景實踐

    開鴻開發板KaihongBoard-3588S-SBCKaihongBoard-3576-SBC體驗開源鴻蒙能力學習開源鴻蒙
    的頭像 發表于 07-03 17:03 ?1819次閱讀
    開鴻<b class='flag-5'>開發</b>板深度體驗:從<b class='flag-5'>開源</b><b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>到AI場景實踐

    2025開源鴻蒙開發者激勵計劃正式啟動

    11月21日,2025開放原子開發者大會盛大啟幕,聚焦“AI共智,開源共享”主題,吸引了來自全球的開發者、企業技術領袖、社區維護者及高校科研力量參會。作為大會的重要組成部分,開源
    的頭像 發表于 11-27 14:44 ?731次閱讀