当前位置:   article > 正文

ArkTS-HarmonyOS应用开发video体验分享_arkts申请权限

arkts申请权限

Api:8

语言:ArkTs

需要权限:使用网络视频时,需要申请权限ohos.permission.INTERNET。具体申请方式请参考权限申请声明。

组件:video

参考:

文档中心

搭建项目:

预设资源:


示例代码:

  1. @Entry
  2. @Component
  3. struct Index {
  4. @State videoSrc: Resource = $rawfile('生生世世爱.mkv'); //视频路径
  5. @State videoPreview: Resource = $r("app.media.ssssa"); //封面展示
  6. @State currentProgressRate: PlaybackSpeed = PlaybackSpeed.Speed_Forward_1_00_X; //视频播放倍速
  7. @State isAutoPlay: boolean = false; //是否自动播放
  8. @State showControls: boolean = true; //显示视频控件
  9. @State muted:boolean = false;//是否静音
  10. @State autoPlay:boolean = false;//是否自动播放
  11. @State loop:boolean = false;//是否循环播放
  12. @State fullScreen:boolean = false;//是否全屏播放
  13. videoController: VideoController = new VideoController();//导入对象
  14. build() {
  15. Row() {
  16. Column() {
  17. Video({
  18. src: this.videoSrc,
  19. previewUri: this.videoPreview,
  20. currentProgressRate: this.currentProgressRate,
  21. controller: this.videoController
  22. }).height('60%')
  23. .autoPlay(this.isAutoPlay)
  24. .controls(this.showControls)
  25. .onStart(() => {
  26. console.info('onStart')
  27. })
  28. .onPause(() => {
  29. console.info('onPause')
  30. })
  31. .onFinish(() => {
  32. console.info('onFinish')
  33. })
  34. .onError(() => {
  35. console.info('播放错误')
  36. })
  37. .onPrepared((e) => {
  38. console.info('onPrepared is ' + e.duration)
  39. })
  40. .onSeeking((e) => {
  41. console.info('onSeeking is ' + e.time)
  42. })
  43. .onSeeked((e) => {
  44. console.info('onSeeked is ' + e.time)
  45. })
  46. .onUpdate((e) => {
  47. console.info('onUpdate is ' + e.time)
  48. })
  49. .onFullscreenChange(()=>{
  50. this.fullScreen = !this.fullScreen
  51. if(this.fullScreen){
  52. this.videoController.requestFullscreen(this.fullScreen)
  53. }else{
  54. this.videoController.exitFullscreen()
  55. }
  56. })
  57. // todo 切换视频
  58. Row() {
  59. Button('切换视频').onClick(() => {
  60. this.videoSrc = $rawfile('此生不换.mkv') // 切换视频源
  61. }).margin(5)
  62. Button('切换海报').onClick(() => {
  63. this.videoPreview = $r('app.media.csbh') // 切换视频预览海报
  64. }).margin(5)
  65. Button('是否显示控件').onClick(() => {
  66. this.showControls = !this.showControls // 切换是否显示视频控制栏
  67. }).margin(5)
  68. }
  69. // todo 操作视频
  70. Row() {
  71. Button('开始').onClick(() => {
  72. this.videoController.start() // 开始播放
  73. }).margin(5)
  74. Button('暂停').onClick(() => {
  75. this.videoController.pause() // 暂停播放
  76. }).margin(5)
  77. Button('结束').onClick(() => {
  78. this.videoController.stop() // 结束播放
  79. }).margin(5)
  80. Button('跳转进度').onClick(() => {
  81. this.videoController.setCurrentTime(10, SeekMode.Accurate) // 精准跳转到视频的10s位置
  82. }).margin(5)
  83. }
  84. // todo 操作视频倍速
  85. Row() {
  86. Button('倍速 x0.75').onClick(() => {
  87. this.currentProgressRate = PlaybackSpeed.Speed_Forward_0_75_X // 0.75倍速播放
  88. }).margin(5)
  89. Button('倍速 x1').onClick(() => {
  90. this.currentProgressRate = PlaybackSpeed.Speed_Forward_1_00_X // 原倍速播放
  91. }).margin(5)
  92. Button('倍速 x2').onClick(() => {
  93. this.currentProgressRate = PlaybackSpeed.Speed_Forward_2_00_X // 2倍速播放
  94. }).margin(5)
  95. }
  96. }
  97. .width('100%')
  98. }
  99. .height('100%')
  100. }
  101. }

4.代码地址
(HarmonyOSAPP开发相关组件: 深圳市蛟龙腾飞网络科技有限公司 - Gitee.com)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/231848
推荐阅读
相关标签
  

闽ICP备14008679号