在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

鴻蒙ArkTS媒體組件:Video

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-07-16 09:35 ? 次閱讀

Video

用于播放視頻文件并控制其播放狀態的組件。

說明:

該組件從API Version 7開始支持。后續版本如有新增內容,則采用上角標單獨標記該內容的起始版本。

權限列表

使用網絡視頻時,需要申請權限ohos.permission.INTERNET。具體申請方式請參考[權限申請聲明]。

子組件

不支持子組件。

接口

Video(value: {src?: string | Resource, currentProgressRate?: number | string | PlaybackSpeed, previewUri?: string | PixelMap | Resource, controller?: VideoController})

參數

參數名參數類型必填參數描述
srcstring[Resource]
currentProgressRatenumberstringPlaybackSpeed8+
previewUristringPixelMap[Resource]
controller[VideoController]設置視頻控制器,可以控制視頻的播放狀態。

PlaybackSpeed8+枚舉說明

名稱描述
Speed_Forward_0_75_X0.75倍速播放。
Speed_Forward_1_00_X1倍速播放。
Speed_Forward_1_25_X1.25倍速播放。
Speed_Forward_1_75_X1.75倍速播放。
Speed_Forward_2_00_X2倍速播放。

屬性

除支持[通用屬性]外,還支持以下屬性:

名稱參數類型描述
mutedboolean是否靜音。 默認值:false
autoPlayboolean是否自動播放。 默認值:false
controlsboolean控制視頻播放的控制欄是否顯示。 默認值:true
objectFit[ImageFit]設置視頻顯示模式。 默認值:Cover
loopboolean是否單個視頻循環播放。 默認值:false

事件

除支持[通用事件]外,還支持以下事件:

名稱功能描述
onStart(event:() => void)播放時觸發該事件。
onPause(event:() => void)暫停時觸發該事件。
onFinish(event:() => void)播放結束時觸發該事件。
onError(event:() => void)播放失敗時觸發該事件。
onPrepared(callback:(event?: { duration: number }) => void)視頻準備完成時觸發該事件。 duration:當前視頻的時長,單位為秒(s)。
onSeeking(callback:(event?: { time: number }) => void)操作進度條過程時上報時間信息。 time:當前視頻播放的進度,單位為s。
onSeeked(callback:(event?: { time: number }) => void)操作進度條完成后,上報播放時間信息。 time:當前視頻播放的進度,單位為s。
onUpdate(callback:(event?: { time: number }) => void)播放進度變化時觸發該事件。 time:當前視頻播放的進度,單位為s。
onFullscreenChange(callback:(event?: { fullscreen: boolean }) => void)在全屏播放與非全屏播放狀態之間切換時觸發該事件。 fullscreen:返回值為true表示進入全屏播放狀態,為false則表示非全屏播放。

VideoController

一個VideoController對象可以控制一個或多個video,可用視頻播放實例請參考[@ohos.multimedia.media])。

導入對象

let controller: VideoController = new VideoController()

start

start(): void

開始播放。

pause

pause(): void

暫停播放,顯示當前幀,再次播放時從當前位置繼續播放。

stop

stop(): void

停止播放,顯示當前幀,再次播放時從頭開始播放。

setCurrentTime

setCurrentTime(value: number)

指定視頻播放的進度位置。

參數:

參數名參數類型必填參數描述
valuenumber視頻播放進度位置,單位為s。

requestFullscreen

requestFullscreen(value: boolean)

請求全屏播放。

參數:

參數名參數類型必填參數描述
valueboolean是否全屏(填充滿應用窗口)播放。

exitFullscreen

exitFullscreen()

退出全屏播放。

setCurrentTime8+

setCurrentTime(value: number, seekMode: SeekMode)

指定視頻播放的進度位置,并指定跳轉模式。

參數:

參數名參數類型必填參數描述
valuenumber視頻播放進度位置,單位為s。
seekModeSeekMode跳轉模式。

SeekMode8+枚舉說明

名稱 開發前請熟悉鴻蒙開發指導文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]描述
PreviousKeyframe跳轉到前一個最近的關鍵幀。
NextKeyframe跳轉到后一個最近的關鍵幀。
ClosestKeyframe跳轉到最近的關鍵幀。
Accurate精準跳轉,不論是否為關鍵幀。

示例

// xxx.ets
@Entry
@Component
struct VideoCreateComponent {
  @State videoSrc: Resource = $rawfile('video1.mp4')
  @State previewUri: Resource = $r('app.media.poster1')
  @State curRate: PlaybackSpeed = PlaybackSpeed.Speed_Forward_1_00_X
  @State isAutoPlay: boolean = false
  @State showControls: boolean = true
  controller: VideoController = new VideoController()

  build() {
    Column() {
      Video({
        src: this.videoSrc,
        previewUri: this.previewUri,
        currentProgressRate: this.curRate,
        controller: this.controller
      })
        .width('100%')
        .height(600)
        .autoPlay(this.isAutoPlay)
        .controls(this.showControls)
        .onStart(() = > {
          console.info('onStart')
        })
        .onPause(() = > {
          console.info('onPause')
        })
        .onFinish(() = > {
          console.info('onFinish')
        })
        .onError(() = > {
          console.info('onError')
        })
        .onPrepared((e?: DurationObject) = > {
          if (e != undefined) {
            console.info('onPrepared is ' + e.duration)
          }
        })
        .onSeeking((e?: TimeObject) = > {
          if (e != undefined) {
            console.info('onSeeking is ' + e.time)
          }
        })
        .onSeeked((e?: TimeObject) = > {
          if (e != undefined) {
            console.info('onSeeked is ' + e.time)
          }
        })
        .onUpdate((e?: TimeObject) = > {
          if (e != undefined) {
            console.info('onUpdate is ' + e.time)
          }
        })

      Row() {
        Button('src').onClick(() = > {
          this.videoSrc = $rawfile('video2.mp4') // 切換視頻源
        }).margin(5)
        Button('previewUri').onClick(() = > {
          this.previewUri = $r('app.media.poster2') // 切換視頻預覽海報
        }).margin(5)
        Button('controls').onClick(() = > {
          this.showControls = !this.showControls // 切換是否顯示視頻控制欄
        }).margin(5)
      }

      Row() {
        Button('start').onClick(() = > {
          this.controller.start() // 開始播放
        }).margin(5)
        Button('pause').onClick(() = > {
          this.controller.pause() // 暫停播放
        }).margin(5)
        Button('stop').onClick(() = > {
          this.controller.stop() // 結束播放
        }).margin(5)
        Button('setTime').onClick(() = > {
          this.controller.setCurrentTime(10, SeekMode.Accurate) // 精準跳轉到視頻的10s位置
        }).margin(5)
      }

      Row() {
        Button('rate 0.75').onClick(() = > {
          this.curRate = PlaybackSpeed.Speed_Forward_0_75_X // 0.75倍速播放
        }).margin(5)
        Button('rate 1').onClick(() = > {
          this.curRate = PlaybackSpeed.Speed_Forward_1_00_X // 原倍速播放
        }).margin(5)
        Button('rate 2').onClick(() = > {
          this.curRate = PlaybackSpeed.Speed_Forward_2_00_X // 2倍速播放
        }).margin(5)
      }
    }
  }
}

interface DurationObject {
  duration: number;
}

interface TimeObject {
  time: number;
}

審核編輯 黃宇

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

    關注

    1

    文章

    518

    瀏覽量

    17929
  • 鴻蒙
    +關注

    關注

    57

    文章

    2392

    瀏覽量

    43067
收藏 人收藏

    評論

    相關推薦

    鴻蒙ArkUI開發-Video組件的使用

    以視頻功能為例,在應用開發過程中,我們需要通過ArkUI提供的Video組件為應用增加基礎的視頻播放功能。借助Video組件,我們可以實現視頻的播放功能并控制其播放狀態。常見的視頻播放
    的頭像 發表于 01-23 16:59 ?1435次閱讀
    <b class='flag-5'>鴻蒙</b>ArkUI開發-<b class='flag-5'>Video</b><b class='flag-5'>組件</b>的使用

    【飛騰派4G版免費試用】Stage鴻蒙應用基礎

    推薦stage,當然,你要是大量開發輕應用,還是fa吧。 二、基本功能風格和功耗測試 這里功耗測試是基于一個小的鴻蒙應用及多媒體使用。 預覽器可以很好地查看應用。但是不幸的是不包含多媒體應用。
    發表于 12-24 08:52

    鴻蒙開發基礎-Web組件之cookie操作

    }) ... } ... 本文章主要是對鴻蒙開發當中ArkTS語言的基礎應用實戰,Web組件里的cookie操作。更多的鴻蒙應用開發技術,可以前往我的主頁學習更多,下面是一張
    發表于 01-14 21:31

    鴻蒙ArkTS的起源和簡介

    ArkTS在TS的類型系統的基礎上,做了進一步的擴展:定義了各種裝飾器、自定義組件和UI描述機制,再配合UI開發框架中的UI內置組件、事件方法、屬性方法等共同構成了應用開發的主體。在應用開發中,除了UI
    發表于 01-16 16:23

    2024款鴻蒙OS 最新HarmonyOS Next_HarmonyOS4.0系列教程分享

    鴻蒙的出現,標志著中國科技的崛起。HarmonyOS就是我們說的華為鴻蒙系統,截止到2023年8月4日已有超過7億臺設備搭載了鴻蒙OS系統。據多家媒體報道,2024年國內有21所985
    發表于 02-28 10:29

    HarmonyOS應用開發實戰-媒體組件video

    video。視頻播放組件。說明:需要在config.json配置,“configChanges”: [“orientation”]除支持通用屬性外,還支持如下屬性:除支持通用樣式外,還支持如下樣式
    發表于 11-15 10:26

    ArkTS-HarmonyOS應用開發video體驗分享

    Api:8語言:ArkTs需要權限:使用網絡視頻時,需要申請權限ohos.permission.INTERNET。具體申請方式請參考權限申請聲明。組件video參考:https
    發表于 11-22 14:45

    鴻蒙開發之ArkTS基礎知識

    一、ArkTS簡介 ArkTS是HarmonyOS優選的主力應用開發語言。它在TypeScript(簡稱TS)的基礎上,匹配了鴻蒙的ArkUI框架,擴展了聲明式UI、狀態管理等相應的能力,讓開發者以
    的頭像 發表于 01-24 16:44 ?2381次閱讀
    <b class='flag-5'>鴻蒙</b>開發之<b class='flag-5'>ArkTS</b>基礎知識

    鴻蒙實戰開發ArkTS運用:【ai聊天框】

    用一個ArkTS編寫的HarmonyOS原生聊天UI框架,提供了開箱即用的聊天對話組件。
    的頭像 發表于 03-08 15:38 ?1072次閱讀
    <b class='flag-5'>鴻蒙</b>實戰開發<b class='flag-5'>ArkTS</b>運用:【ai聊天框】

    鴻蒙ArkTS聲明式組件:XComponent

    可用于EGL/OpenGLES和媒體數據寫入,并顯示在XComponent組件
    的頭像 發表于 07-05 09:56 ?813次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b>聲明式<b class='flag-5'>組件</b>:XComponent

    鴻蒙ArkTS媒體組件:Ellipse

    橢圓繪制組件
    的頭像 發表于 07-16 15:20 ?336次閱讀

    鴻蒙ArkTS媒體組件:Line

    直線繪制組件。
    的頭像 發表于 07-17 10:25 ?490次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>媒體</b><b class='flag-5'>組件</b>:Line

    鴻蒙ArkTS媒體組件:Polyline

    折線繪制組件。
    的頭像 發表于 07-17 09:43 ?329次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>媒體</b><b class='flag-5'>組件</b>:Polyline

    鴻蒙ArkTS媒體組件:Polygon

    多邊形繪制組件
    的頭像 發表于 07-17 15:05 ?399次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>媒體</b><b class='flag-5'>組件</b>:Polygon

    鴻蒙ArkTS媒體組件:Path

    路徑繪制組件,根據繪制路徑生成封閉的自定義形狀。
    的頭像 發表于 07-18 10:24 ?451次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>媒體</b><b class='flag-5'>組件</b>:Path
    主站蜘蛛池模板: 国产精品香蕉在线一区 | 加勒比视频网站 | 国产午夜免费一区二区三区 | 国产成人精品一区二区三区 | 国产三级日本三级日产三 | 中国日韩欧美中文日韩欧美色 | 欧美黑人粗暴另类多交 | 免费看逼网站 | 全免费一级毛片在线播放 | 亚洲综合色网站 | 一级特黄aaa大片在线观看 | 成人亚洲网站www在线观看 | 欧美一级鲁丝片 | 天堂网站| 在线观看免费视频网站色 | 爱夜夜性夜夜夜夜夜夜爽 | 亚洲三级理论 | 天堂在线www在线资源 | 国产农村妇女毛片精品久久久 | 韩国视频在线播放 | 男男h全肉耽污 | 男人j进入女人免费视频 | 天天操天天干天天透 | 国产农村一级特黄α真人毛片 | 成人理伦 | bt天堂在线最新版在线 | 一级美女视频 | 毛片免费看网站 | 天天干天天弄 | аⅴ资源中文在线天堂 | 爱爱的免费视频 | 日本黄色免费电影 | 色多多·com| 日本污视频在线观看 | 高清成人 | 国产精品资源在线 | 性色网站| 午夜999 | sss欧美一区二区三区 | 色婷婷激情 | 久久semm亚洲国产 |