diff --git a/PowerAnalysis/LowerPowerSample/entry/src/main/ets/pages/buffer_power_example.ets b/PowerAnalysis/LowerPowerSample/entry/src/main/ets/pages/buffer_power_example.ets index 0155fca93cb000efd1b13b549dc68484949dce10..1a2d0bf9dc8f78d73c26d3353b6907168c58b229 100644 --- a/PowerAnalysis/LowerPowerSample/entry/src/main/ets/pages/buffer_power_example.ets +++ b/PowerAnalysis/LowerPowerSample/entry/src/main/ets/pages/buffer_power_example.ets @@ -47,8 +47,8 @@ struct MyWebComponent { // [Start buffer_power_case_2] @Component -struct MyVideoComponent { - @State videoSrc: Resource | string = $r('app.media.background'); +export struct MyVideoComponent { + @State videoSrc: Resource | string = $r('app.media.test_video'); private controller: VideoController = new VideoController(); @@ -56,20 +56,14 @@ struct MyVideoComponent { Column() { Video({ src: this.videoSrc, - controller: this.controller + controller: this.controller, + }) - .width('100%') - .height(600) + .width(300) + .height(200) .onPrepared(() => { this.controller.start(); }) - .onDrop((e: DragEvent) => { - let record = e.getData().getRecords()[0]; - if (record.getType() == uniformTypeDescriptor.UniformDataType.VIDEO) { - let videoInfo = record as unifiedDataChannel.Video; - this.videoSrc = videoInfo.videoUri; - } - }) // 确保视频组件完全可见时播放,完全不可见时停止 .onVisibleAreaChange([0.0], (isExpanding: boolean, currentRatio: number) => { if (isExpanding && currentRatio >= 1.0) { @@ -88,4 +82,30 @@ struct MyVideoComponent { } } } +// [End buffer_power_case_2] + + +// [Start buffer_power_case_2] +@Component +export struct MyVideoComponent_opacity { + @State videoSrc: Resource | string = $r('app.media.test_video'); + private controller: VideoController = new VideoController(); + + + build() { + Column() { + Video({ + src: this.videoSrc, + controller: this.controller, + + }) + .width(300) + .height(200) + // .opacity(0.4) 注释掉此段代码,可规避GPU重绘 + .onPrepared(() => { + this.controller.start(); + }) + } + } +} // [End buffer_power_case_2] \ No newline at end of file