From 063f2bc080d88d7277f877fc653b8837034bb8b6 Mon Sep 17 00:00:00 2001 From: xiaozn Date: Tue, 19 Nov 2024 18:48:26 +0800 Subject: [PATCH 1/6] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DvideoPlayer?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=92=AD=E6=94=BE=E6=9C=AC=E5=9C=B0=E9=9F=B3?= =?UTF-8?q?=E9=A2=91=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiaozn --- .../videoplayer/VideoPlayerApiImpl.ets | 54 ++++++++++++------- 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/VideoPlayerApiImpl.ets b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/VideoPlayerApiImpl.ets index 65608177e..92b84af2f 100644 --- a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/VideoPlayerApiImpl.ets +++ b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/VideoPlayerApiImpl.ets @@ -92,27 +92,45 @@ export class VideoPlayerApiImpl { Log.i(TAG, "enter getRawFd, textureId=" + textureId); let surfaceTextureEntry: SurfaceTextureEntry = flutterRenderer.registerTexture(textureId); if (asset != null) { - let avImageGenerator = await media.createAVImageGenerator(); - avImageGenerator.fdSrc = await this.getContext().resourceManager.getRawFd("flutter_assets/" + asset); - let pixelMap = await avImageGenerator.fetchFrameByTime(0, media.AVImageQueryOptions.AV_IMAGE_QUERY_NEXT_SYNC, { - width: -1, - height: -1 - }); - this.pixelMaps.set(JSON.stringify(arg), pixelMap); - avImageGenerator.release(); - flutterRenderer.setTextureBackGroundPixelMap(textureId, this.pixelMaps.get(JSON.stringify(arg))); + Log.i(TAG, "asset create called, asset is" + asset); + let avMetaExtractor = await media.createAVMetadataExtractor(); + avMetaExtractor.fdSrc = await this.getContext().resourceManager.getRawFd("flutter_assets/" + asset); + let mateData = await avMetaExtractor.fetchMetadata(); + if (mateData.hasVideo == 'yes') { + let avImageGenerator = await media.createAVImageGenerator(); + Log.i(TAG, "asset video create"); + avImageGenerator.fdSrc = await this.getContext().resourceManager.getRawFd("flutter_assets/" + asset); + let pixelMap = await avImageGenerator.fetchFrameByTime(0, media.AVImageQueryOptions.AV_IMAGE_QUERY_NEXT_SYNC, { + width: -1, + height: -1 + }); + this.pixelMaps.set(JSON.stringify(arg), pixelMap); + avImageGenerator.release(); + flutterRenderer.setTextureBackGroundPixelMap(textureId, this.pixelMaps.get(JSON.stringify(arg))); + } + avMetaExtractor.release(); } else if (uri != null && uri.startsWith("fd://")) { - let avImageGenerator = await media.createAVImageGenerator(); - avImageGenerator.fdSrc = { + Log.i(TAG, "local create called, file is" + uri); + let avMetaExtractor = await media.createAVMetadataExtractor(); + avMetaExtractor.fdSrc = { fd: Number.parseInt(uri.replace("fd://", "")) }; - let pixelMap = await avImageGenerator.fetchFrameByTime(0, media.AVImageQueryOptions.AV_IMAGE_QUERY_NEXT_SYNC, { - width: -1, - height: -1 - }); - this.pixelMaps.set(JSON.stringify(arg), pixelMap); - avImageGenerator.release(); - flutterRenderer.setTextureBackGroundPixelMap(textureId, this.pixelMaps.get(JSON.stringify(arg))); + let mateData = await avMetaExtractor.fetchMetadata(); + if (mateData.hasVideo == 'yes') { + let avImageGenerator = await media.createAVImageGenerator(); + Log.i(TAG, "local video create"); + avImageGenerator.fdSrc = { + fd: Number.parseInt(uri.replace("fd://", "")) + }; + let pixelMap = await avImageGenerator.fetchFrameByTime(0, media.AVImageQueryOptions.AV_IMAGE_QUERY_NEXT_SYNC, { + width: -1, + height: -1 + }); + this.pixelMaps.set(JSON.stringify(arg), pixelMap); + avImageGenerator.release(); + flutterRenderer.setTextureBackGroundPixelMap(textureId, this.pixelMaps.get(JSON.stringify(arg))); + } + avMetaExtractor.release(); } let eventChannel: EventChannel = new EventChannel(this.flutterState.getBinaryMessenger(), "flutter.io/videoPlayer/videoEvents" + textureId.toString()); if (asset != null) { -- Gitee From 60c6df64a55cf1e556102dd1cec25188116ade46 Mon Sep 17 00:00:00 2001 From: xiaozn Date: Wed, 20 Nov 2024 15:12:06 +0800 Subject: [PATCH 2/6] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DvideoPlayer?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=92=AD=E6=94=BE=E6=9C=AC=E5=9C=B0=E9=9F=B3?= =?UTF-8?q?=E9=A2=91=E6=96=87=E4=BB=B6,=E6=94=B9=E7=94=A8=E5=B8=B8?= =?UTF-8?q?=E9=87=8F=E5=80=BC=E8=BF=9B=E8=A1=8C=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiaozn --- .../main/ets/components/videoplayer/VideoPlayerApiImpl.ets | 5 +++-- .../ets/components/videoplayer/constants/CommonConstants.ets | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/VideoPlayerApiImpl.ets b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/VideoPlayerApiImpl.ets index 92b84af2f..1ff949911 100644 --- a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/VideoPlayerApiImpl.ets +++ b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/VideoPlayerApiImpl.ets @@ -22,6 +22,7 @@ import { FlutterRenderer } from '@ohos/flutter_ohos/src/main/ets/embedding/engin import { SurfaceTextureEntry } from '@ohos/flutter_ohos/src/main/ets/view/TextureRegistry'; import { VideoPlayer } from './VideoPlayer'; import { VideoPlayerApi } from './VideoPlayerApi'; +import { CommonConstants } from './constants/CommonConstants'; import { CreateMessage, LoopingMessage, MixWithOthersMessage, PlaybackSpeedMessage, @@ -96,7 +97,7 @@ export class VideoPlayerApiImpl { let avMetaExtractor = await media.createAVMetadataExtractor(); avMetaExtractor.fdSrc = await this.getContext().resourceManager.getRawFd("flutter_assets/" + asset); let mateData = await avMetaExtractor.fetchMetadata(); - if (mateData.hasVideo == 'yes') { + if (mateData.hasVideo == CommonConstants.HAS_VIDEO) { let avImageGenerator = await media.createAVImageGenerator(); Log.i(TAG, "asset video create"); avImageGenerator.fdSrc = await this.getContext().resourceManager.getRawFd("flutter_assets/" + asset); @@ -116,7 +117,7 @@ export class VideoPlayerApiImpl { fd: Number.parseInt(uri.replace("fd://", "")) }; let mateData = await avMetaExtractor.fetchMetadata(); - if (mateData.hasVideo == 'yes') { + if (mateData.hasVideo == CommonConstants.HAS_VIDEO) { let avImageGenerator = await media.createAVImageGenerator(); Log.i(TAG, "local video create"); avImageGenerator.fdSrc = { diff --git a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets index eabd1efe0..643453bab 100644 --- a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets +++ b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets @@ -69,6 +69,10 @@ export class CommonConstants { * A thousand. */ static readonly A_THOUSAND: number = 1000; + /** + * A thousand. + */ + static readonly HAS_VIDEO: string = 'yes'; /** * Speed set. */ -- Gitee From 36b2f13e7b96bf855f2abdf497e6772e529da736 Mon Sep 17 00:00:00 2001 From: xiaozn Date: Wed, 20 Nov 2024 16:11:51 +0800 Subject: [PATCH 3/6] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DvideoPlayer?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=92=AD=E6=94=BE=E6=9C=AC=E5=9C=B0=E9=9F=B3?= =?UTF-8?q?=E9=A2=91=E6=96=87=E4=BB=B6,=E4=BF=AE=E6=94=B9=E5=B8=B8?= =?UTF-8?q?=E9=87=8F=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiaozn --- .../main/ets/components/videoplayer/VideoPlayerApiImpl.ets | 4 ++-- .../ets/components/videoplayer/constants/CommonConstants.ets | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/VideoPlayerApiImpl.ets b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/VideoPlayerApiImpl.ets index 1ff949911..0204244dc 100644 --- a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/VideoPlayerApiImpl.ets +++ b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/VideoPlayerApiImpl.ets @@ -97,7 +97,7 @@ export class VideoPlayerApiImpl { let avMetaExtractor = await media.createAVMetadataExtractor(); avMetaExtractor.fdSrc = await this.getContext().resourceManager.getRawFd("flutter_assets/" + asset); let mateData = await avMetaExtractor.fetchMetadata(); - if (mateData.hasVideo == CommonConstants.HAS_VIDEO) { + if (mateData.hasVideo == CommonConstants.YES) { let avImageGenerator = await media.createAVImageGenerator(); Log.i(TAG, "asset video create"); avImageGenerator.fdSrc = await this.getContext().resourceManager.getRawFd("flutter_assets/" + asset); @@ -117,7 +117,7 @@ export class VideoPlayerApiImpl { fd: Number.parseInt(uri.replace("fd://", "")) }; let mateData = await avMetaExtractor.fetchMetadata(); - if (mateData.hasVideo == CommonConstants.HAS_VIDEO) { + if (mateData.hasVideo == CommonConstants.YES) { let avImageGenerator = await media.createAVImageGenerator(); Log.i(TAG, "local video create"); avImageGenerator.fdSrc = { diff --git a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets index 643453bab..8171ab443 100644 --- a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets +++ b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets @@ -72,7 +72,7 @@ export class CommonConstants { /** * A thousand. */ - static readonly HAS_VIDEO: string = 'yes'; + static readonly YES: string = 'yes'; /** * Speed set. */ -- Gitee From 8b050666e1aef4aaf3906a4b97213ad298c00938 Mon Sep 17 00:00:00 2001 From: xiaozn Date: Wed, 20 Nov 2024 16:39:46 +0800 Subject: [PATCH 4/6] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DvideoPlayer?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=92=AD=E6=94=BE=E6=9C=AC=E5=9C=B0=E9=9F=B3?= =?UTF-8?q?=E9=A2=91=E6=96=87=E4=BB=B6,=E4=BF=AE=E6=AD=A3=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=B8=B8=E9=87=8F=E7=9A=84=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiaozn --- .../ets/components/videoplayer/constants/CommonConstants.ets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets index 8171ab443..6123d97da 100644 --- a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets +++ b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets @@ -70,8 +70,8 @@ export class CommonConstants { */ static readonly A_THOUSAND: number = 1000; /** - * A thousand. - */ + * resource file is video. + */ static readonly YES: string = 'yes'; /** * Speed set. -- Gitee From 2a00e81b691f9bd41e52d77e93ca8ce14c48e3cd Mon Sep 17 00:00:00 2001 From: xiaozn Date: Wed, 20 Nov 2024 16:54:25 +0800 Subject: [PATCH 5/6] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DvideoPlayer?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=92=AD=E6=94=BE=E6=9C=AC=E5=9C=B0=E9=9F=B3?= =?UTF-8?q?=E9=A2=91=E6=96=87=E4=BB=B6,=E4=BF=AE=E6=AD=A3=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=B8=B8=E9=87=8F=E7=9A=84=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiaozn --- .../ets/components/videoplayer/constants/CommonConstants.ets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets index 6123d97da..a1cae7e7b 100644 --- a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets +++ b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets @@ -70,7 +70,7 @@ export class CommonConstants { */ static readonly A_THOUSAND: number = 1000; /** - * resource file is video. + * Attribute Value is 'yes' */ static readonly YES: string = 'yes'; /** -- Gitee From d19b0fedc2ae1ef5d1271f480187f18c68fa6a8c Mon Sep 17 00:00:00 2001 From: xiaozn Date: Wed, 20 Nov 2024 16:55:19 +0800 Subject: [PATCH 6/6] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DvideoPlayer?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=92=AD=E6=94=BE=E6=9C=AC=E5=9C=B0=E9=9F=B3?= =?UTF-8?q?=E9=A2=91=E6=96=87=E4=BB=B6,=E4=BF=AE=E6=AD=A3=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=B8=B8=E9=87=8F=E7=9A=84=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiaozn --- .../ets/components/videoplayer/constants/CommonConstants.ets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets index a1cae7e7b..4260e250d 100644 --- a/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets +++ b/packages/video_player/video_player_ohos/ohos/src/main/ets/components/videoplayer/constants/CommonConstants.ets @@ -72,7 +72,7 @@ export class CommonConstants { /** * Attribute Value is 'yes' */ - static readonly YES: string = 'yes'; + static readonly YES: string = 'yes'; /** * Speed set. */ -- Gitee