From e4ff07292b5ee4ca2b079f8ffe1dddc5058f0215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E6=B4=AA=E5=BF=97?= Date: Wed, 18 Jun 2025 19:52:38 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E6=8A=BD=E5=B8=A7=E6=8E=A5=E5=8F=A3=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 蔡洪志 --- .../media/media/avmetadataextractor.md | 32 +++++- .../arkts-apis-media-AVMetadataExtractor.md | 107 +++++++++++++++++- 2 files changed, 133 insertions(+), 6 deletions(-) diff --git a/zh-cn/application-dev/media/media/avmetadataextractor.md b/zh-cn/application-dev/media/media/avmetadataextractor.md index 4fa246b2bd1..2ed30cd7590 100644 --- a/zh-cn/application-dev/media/media/avmetadataextractor.md +++ b/zh-cn/application-dev/media/media/avmetadataextractor.md @@ -1,8 +1,8 @@ # 使用AVMetadataExtractor提取音视频元数据信息(ArkTS) -使用[AVMetadataExtractor](media-kit-intro.md#avmetadataextractor)可以实现从原始媒体资源中获取元数据,本开发指导将以获取一个音频资源的元数据作为示例,向开发者讲解AVMetadataExtractor元数据相关功能。视频资源的元数据获取流程与音频类似,由于视频没有专辑封面,所以无法获取视频资源的专辑封面。 +使用[AVMetadataExtractor](media-kit-intro.md#avmetadataextractor)可以实现从原始媒体资源中获取元数据。本指南将以获取一个音视频资源的元数据作为示例,向开发者讲解AVMetadataExtractor元数据相关功能。视频资源的元数据获取流程与音频类似,由于视频没有专辑封面,所以无法获取视频资源的专辑封面。 -获取音频资源的元数据的全流程包含:创建AVMetadataExtractor,设置资源,获取元数据,获取专辑封面,销毁资源。 +获取音视频资源的元数据的全流程包含:创建AVMetadataExtractor、设置资源、获取元数据、获取音频资源的专辑封面或获取视频缩略图、销毁资源。 ## 开发步骤及注意事项 @@ -15,7 +15,7 @@ let avMetadataExtractor: media.AVMetadataExtractor = await media.createAVMetadataExtractor(); ``` -2. 设置资源:用户可以根据需要选择设置属性fdSrc(表示文件描述符), 或者设置属性dataSrc(表示dataSource描述符)。 +2. 设置资源:用户可以根据需要选择设置属性fdSrc(表示文件描述符)和属性dataSrc(表示dataSource描述符)或者调用setUrlSource设置在线媒体链接。 > **说明:** > > 开发者需根据实际情况,确认资源有效性并设置(只能设置其中一种): @@ -24,6 +24,8 @@ > > - 如果设置dataSrc,必须正确设置dataSrc中的callback属性,确保callback被调用时能正确读取到对应资源,使用应用沙箱路径访问对应资源,参考[获取应用文件路径](../../application-models/application-context-stage.md#获取应用文件路径)。应用沙箱的介绍及如何向应用沙箱推送文件,请参考[文件管理](../../file-management/app-sandbox-directory.md)。 > + > - 如果设置[setUrlSource](../../reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md#seturlsource20),必须正确设置setUrlSource中的url和headers属性,确保正确访问url。 + > > - 不同AVMetadataExtractor或者[AVImageGenerator](../../reference/apis-media-kit/arkts-apis-media-AVImageGenerator.md)实例,如果需要操作同一资源,需要多次打开文件描述符,不要共用同一文件描述符。 ```ts @@ -67,6 +69,13 @@ }; // 设置dataSrc。 avMetadataExtractor.dataSrc = dataSrc; + + // 调用setUrlSource设置网络点播媒体来源url,用来获取在线音视频元数据和在线视频缩略图。 + let url: string = 'http://xx.mp4'; + let headers: Record = { + "User-Agent" : "User-Agent-Value" + }; + avMetadataExtractor.setUrlSource(url, headers); ``` 3. 获取元数据:调用fetchMetadata(),可以获取到一个AVMetadata对象,通过访问该对象的各个属性,可以获取到元数据。 @@ -101,7 +110,22 @@ this.pixelMap = await avMetadataExtractor.fetchAlbumCover(); ``` -5. 释放资源:调用release()销毁实例,释放资源。 +5. (可选)获取视频缩略图:调用fetchFrameByTime,可以获取到视频缩略图。 + ```ts + import { image } from '@kit.ImageKit'; + // pixelMap对象声明,用于图片显示。 + @State pixelMap: image.PixelMap | undefined = undefined; + // 接口入参声明。 + let timeUs: number = 0; + let queryOption: media.AVImageQueryOptions = media.AVImageQueryOptions.AV_IMAGE_QUERY_PREVIOUS_SYNC; + let param: media.PixelMapParams = { + width : 300, + height : 300 + } + // 获取视频缩略图(promise模式)。 + this.pixelMap = await avMetadataExtractor.fetchFrameByTime(timeUs, queryOption, param); + +6. 释放资源:调用release()销毁实例,释放资源。 ```ts // 释放资源(callback模式)。 avMetadataExtractor.release((error) => { diff --git a/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md b/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md index d3f43114b45..041f6517b18 100644 --- a/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md +++ b/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md @@ -3,9 +3,9 @@ > **说明:** > 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 -元数据获取类,用于从媒体资源中获取元数据。在调用AVMetadataExtractor的方法前,需要先通过[createAVMetadataExtractor()](arkts-apis-media-f.md#mediacreateavmetadataextractor11)构建一个AVMetadataExtractor实例。 +元数据获取类,用于从媒体资源中获取元数据、缩略图。在调用AVMetadataExtractor的方法前,需要先通过[media.createAVMetadataExtractor](arkts-apis-media-f.md#mediacreateavmetadataextractor11)构建一个AVMetadataExtractor实例。 -获取音频或视频元数据的demo可参考:[获取音视频元数据开发指导](../../media/media/avmetadataextractor.md)。 +获取音频或视频元数据、视频缩略图的demo可参考:[获取音视频元数据开发指导](../../media/media/avmetadataextractor.md)。 ## 属性 @@ -16,6 +16,109 @@ | fdSrc11+ | [AVFileDescriptor](arkts-apis-media-i.md#avfiledescriptor9) | 是 | 是 | 媒体文件描述,通过该属性设置数据源。在获取元数据之前,必须设置数据源属性,只能设置fdSrc和dataSrc的其中一个。
**使用示例**:
假设一个连续存储的媒体文件,地址偏移:0,字节长度:100。其文件描述为 AVFileDescriptor { fd = 资源句柄; offset = 0; length = 100; }。
**说明:**
- 将资源句柄(fd)传递给 AVMetadataExtractor 实例之后,请不要通过该资源句柄做其他读写操作,包括但不限于将同一个资源句柄传递给多个 AVPlayer / AVMetadataExtractor / AVImageGenerator / AVTranscoder。同一时间通过同一个资源句柄读写文件时存在竞争关系,将导致音视频元数据获取异常。 | | dataSrc11+ | [AVDataSrcDescriptor](arkts-apis-media-i.md#avdatasrcdescriptor10) | 是 | 是 | 流式媒体资源描述,通过该属性设置数据源。在获取元数据之前,必须设置数据源属性,只能设置fdSrc和dataSrc的其中一个。
当应用从远端获取音视频媒体文件,在应用未下载完整音视频资源时,可以设置dataSrc提前获取该资源的元数据。| +### setUrlSource20+ + +setUrlSource(url: string, headers?: Record\): void + +网络点播资源地址描述,通过该接口设置数据源。只支持获取网络[fetchMetadata](#fetchmetadata11)(元数据)、[fetchFrameByTime](#fetchframebytime20)(缩略图),在获取之前,必须设置媒体来源url。 + +**系统能力:** SystemCapability.Multimedia.Media.AVMetadataExtractor + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------------------------------------------- | ---- | ----------------------------------- | +| url | string | 是 | 媒体来源url。
1. 支持的视频格式:mp4、mpeg-ts、mkv。
2. 支持的音频格式:m4a、aac、mp3、ogg、wav、flac、amr。
**支持路径示例**:
1. http网络播放:http\://xx。
2. https网络播放:https\://xx。
**说明:** 不支持设置hls/dash、直播资源。| +| headers | Record\ | 否 | 支持访问网络资源HttpHeader自定义。 | + +**示例:** + +```ts +import { BusinessError } from '@kit.BasicServicesKit'; +import { media } from '@kit.MediaKit'; + +let avMetadataExtractor: media.AVMetadataExtractor | undefined = undefined; + +media.createAVMetadataExtractor((error: BusinessError, extractor: media.AVMetadataExtractor) => { + if (extractor != null) { + avMetadataExtractor = extractor; + console.info('Succeeded in creating AVMetadataExtractor'); + let url = "http://xx"; + let headers: Record = { + "User-Agent" : "User-Agent-Value" + }; + avMetadataExtractor.setUrlSource(url, headers); + } else { + console.error(`Failed to create AVMetadataExtractor, error message:${error.message}`); + } +}); +``` + +### fetchFrameByTime20+ + +fetchFrameByTime(timeUs: number, options: AVImageQueryOptions, param: PixelMapParams): Promise\ + +获取视频缩略图。通过Promise异步回调。 + +**系统能力:** SystemCapability.Multimedia.Media.AVMetadataExtractor + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------------------------------------------- | ---- | ----------------------------------- | +| timeUs | number | 是 | 需要获取的缩略图在视频中的时间点,单位为微秒(μs)。 | +| options | [AVImageQueryOptions](arkts-apis-media-e.md#avimagequeryoptions12) | 是 | 需要获取的缩略图时间点与视频帧的对应关系。 | +| param | [PixelMapParams](arkts-apis-media-i.md#pixelmapparams12) | 是 | 需要获取的缩略图的格式参数。 | + +**返回值:** + +| 类型 | 说明 | +| -------------- | ---------------------------------------- | +| Promise\<[image.PixelMap](../apis-image-kit/js-apis-image.md#pixelmap7)> | Promise对象,返回视频缩略图对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[媒体错误码](errorcode-media.md) + +| 错误码ID | 错误信息 | +| -------- | ----------------------------------------- | +| 5400102 | Operation not allowed. Returned by promise. | +| 5400106 | Unsupported format. Returned by promise. | +| 5400108 | Parameter check failed. Returned by promise. | + +**示例:** + +```ts +import { BusinessError } from '@kit.BasicServicesKit'; +import { image } from '@kit.ImageKit'; +import { media } from '@kit.MediaKit'; + +let avMetadataExtractor: media.AVMetadataExtractor | undefined = undefined; +let pixel_map : image.PixelMap | undefined = undefined; + +// 初始化入参。 +let timeUs: number = 0; +let queryOption: media.AVImageQueryOptions = media.AVImageQueryOptions.AV_IMAGE_QUERY_PREVIOUS_SYNC; +let param: media.PixelMapParams = { + width : 300, + height : 300 +}; +// 获取缩略图。 +media.createAVMetadataExtractor((error: BusinessError, extractor: media.AVMetadataExtractor) => { + if (extractor != null) { + avMetadataExtractor = extractor; + console.info('Succeeded in creating AVMetadataExtractor'); + avMetadataExtractor.fetchFrameByTime(timeUs, queryOption, param).then((pixelMap: image.PixelMap) => { + pixel_map = pixelMap; + }).catch((error: BusinessError) => { + console.error(`Failed to fetch FrameByTime, error message:${error.message}`); + }); + } else { + console.error(`Failed to create AVMetadataExtractor, error message:${error.message}`); + } +}); +``` + ## fetchMetadata11+ fetchMetadata(callback: AsyncCallback\): void -- Gitee From 4d413c9d0357e9a3b8b7bce1079042a3dbbc143b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E6=B4=AA=E5=BF=97?= Date: Tue, 1 Jul 2025 17:04:46 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=A0=81=E5=A3=B0=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 蔡洪志 --- .../media/media/avmetadataextractor.md | 5 +++- .../arkts-apis-media-AVMetadataExtractor.md | 27 ++++++++++++++++--- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/zh-cn/application-dev/media/media/avmetadataextractor.md b/zh-cn/application-dev/media/media/avmetadataextractor.md index 2ed30cd7590..e6fedfe788e 100644 --- a/zh-cn/application-dev/media/media/avmetadataextractor.md +++ b/zh-cn/application-dev/media/media/avmetadataextractor.md @@ -75,7 +75,10 @@ let headers: Record = { "User-Agent" : "User-Agent-Value" }; - avMetadataExtractor.setUrlSource(url, headers); + await avMetadataExtractor.setUrlSource(url, headers).then(() => { + }).catch((error: BusinessError) => { + console.error(`Failed to setUrlSource, code: ${error.code} message: ${error.message}`); + }); ``` 3. 获取元数据:调用fetchMetadata(),可以获取到一个AVMetadata对象,通过访问该对象的各个属性,可以获取到元数据。 diff --git a/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md b/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md index 041f6517b18..e5430f88a83 100644 --- a/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md +++ b/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md @@ -18,9 +18,9 @@ ### setUrlSource20+ -setUrlSource(url: string, headers?: Record\): void +setUrlSource(url: string, headers?: Record\): Promise\ -网络点播资源地址描述,通过该接口设置数据源。只支持获取网络[fetchMetadata](#fetchmetadata11)(元数据)、[fetchFrameByTime](#fetchframebytime20)(缩略图),在获取之前,必须设置媒体来源url。 +网络点播资源地址描述,通过该接口设置数据源。通过Promise获取返回值。只支持获取网络[fetchMetadata](#fetchmetadata11)(元数据)、[fetchFrameByTime](#fetchframebytime20)(缩略图),在获取之前,必须设置媒体来源url。 **系统能力:** SystemCapability.Multimedia.Media.AVMetadataExtractor @@ -28,9 +28,25 @@ setUrlSource(url: string, headers?: Record\): void | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------------------------------------- | ---- | ----------------------------------- | -| url | string | 是 | 媒体来源url。
1. 支持的视频格式:mp4、mpeg-ts、mkv。
2. 支持的音频格式:m4a、aac、mp3、ogg、wav、flac、amr。
**支持路径示例**:
1. http网络播放:http\://xx。
2. https网络播放:https\://xx。
**说明:** 不支持设置hls/dash、直播资源。| +| url | string | 是 | 媒体来源url。
1. 支持的视频格式:mp4、mpeg-ts、mkv。
2. 支持的音频格式:m4a、aac、mp3、ogg、wav、flac、amr。
**支持路径示例**:
1. http网络播放:http\://xx。
2. https网络播放:https\://xx。
**说明:**
- 不支持设置hls/dash、直播资源。
- 设置网络播放路径,需[声明权限](../../security/AccessToken/declare-permissions.md):[ohos.permission.INTERNET](../../security/AccessToken/permissions-for-all.md#ohospermissioninternet),相关错误码: [201](../errorcode-universal.md)。| | headers | Record\ | 否 | 支持访问网络资源HttpHeader自定义。 | +**返回值:** + +| 类型 | 说明 | +| -------------- | ---------------------------------------- | +| Promise\ | 异步方式设置资源setUrlSource方法的Promise返回值。 | + +**错误码:** + +以下错误码的详细介绍请参见[媒体错误码](errorcode-media.md)。 + +| 错误码ID | 错误信息 | +| -------- | ----------------------------------------- | +| 201 | Permission denied, requires internet access permission. Returned by promise. | +| 5400102 | Operation not allowed. Returned by promise. | +| 5400108 | Parameter check failed. Returned by promise. | + **示例:** ```ts @@ -47,7 +63,10 @@ media.createAVMetadataExtractor((error: BusinessError, extractor: media.AVMetada let headers: Record = { "User-Agent" : "User-Agent-Value" }; - avMetadataExtractor.setUrlSource(url, headers); + await avMetadataExtractor.setUrlSource(url, headers).then(() => { + }).catch((error: BusinessError) => { + console.error(`Failed to setUrlSource, code: ${error.code} message: ${error.message}`); + }); } else { console.error(`Failed to create AVMetadataExtractor, error message:${error.message}`); } -- Gitee From 7467a5cdf2733f6da191b5f2a63150a8cd4be8a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E6=B4=AA=E5=BF=97?= Date: Tue, 1 Jul 2025 17:19:01 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 蔡洪志 --- zh-cn/application-dev/media/media/avmetadataextractor.md | 1 + .../apis-media-kit/arkts-apis-media-AVMetadataExtractor.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/zh-cn/application-dev/media/media/avmetadataextractor.md b/zh-cn/application-dev/media/media/avmetadataextractor.md index e6fedfe788e..7314c797744 100644 --- a/zh-cn/application-dev/media/media/avmetadataextractor.md +++ b/zh-cn/application-dev/media/media/avmetadataextractor.md @@ -29,6 +29,7 @@ > - 不同AVMetadataExtractor或者[AVImageGenerator](../../reference/apis-media-kit/arkts-apis-media-AVImageGenerator.md)实例,如果需要操作同一资源,需要多次打开文件描述符,不要共用同一文件描述符。 ```ts + import { BusinessError } from '@kit.BasicServicesKit'; import { common } from '@kit.AbilityKit'; import { fileIo as fs, ReadOptions } from '@kit.CoreFileKit'; // 获取rawfile目录下资源文件描述符,设置fdSrc属性。 diff --git a/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md b/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md index e5430f88a83..93ef2449ecc 100644 --- a/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md +++ b/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md @@ -28,7 +28,7 @@ setUrlSource(url: string, headers?: Record\): Promise\ | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------------------------------------- | ---- | ----------------------------------- | -| url | string | 是 | 媒体来源url。
1. 支持的视频格式:mp4、mpeg-ts、mkv。
2. 支持的音频格式:m4a、aac、mp3、ogg、wav、flac、amr。
**支持路径示例**:
1. http网络播放:http\://xx。
2. https网络播放:https\://xx。
**说明:**
- 不支持设置hls/dash、直播资源。
- 设置网络播放路径,需[声明权限](../../security/AccessToken/declare-permissions.md):[ohos.permission.INTERNET](../../security/AccessToken/permissions-for-all.md#ohospermissioninternet),相关错误码: [201](../errorcode-universal.md)。| +| url | string | 是 | 媒体来源url。
1. 支持的视频格式:mp4、mpeg-ts、mkv。
2. 支持的音频格式:m4a、aac、mp3、ogg、wav、flac、amr。
**支持路径示例**:
1. http网络播放:http\://xx。
2. https网络播放:https\://xx。
**说明:**
- 不支持设置hls/dash、直播资源。
- 设置网络资源路径,需[声明权限](../../security/AccessToken/declare-permissions.md):[ohos.permission.INTERNET](../../security/AccessToken/permissions-for-all.md#ohospermissioninternet),相关错误码: [201](../errorcode-universal.md)。| | headers | Record\ | 否 | 支持访问网络资源HttpHeader自定义。 | **返回值:** -- Gitee From 1be2013ae7017afbee4b398f351879cc052a976f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E6=B4=AA=E5=BF=97?= Date: Tue, 1 Jul 2025 18:55:56 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E6=A3=80=E8=A7=86=E6=84=8F=E8=A7=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 蔡洪志 --- .../arkts-apis-media-AVMetadataExtractor.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md b/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md index 93ef2449ecc..7147671d4e0 100644 --- a/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md +++ b/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md @@ -5,7 +5,7 @@ 元数据获取类,用于从媒体资源中获取元数据、缩略图。在调用AVMetadataExtractor的方法前,需要先通过[media.createAVMetadataExtractor](arkts-apis-media-f.md#mediacreateavmetadataextractor11)构建一个AVMetadataExtractor实例。 -获取音频或视频元数据、视频缩略图的demo可参考:[获取音视频元数据开发指导](../../media/media/avmetadataextractor.md)。 +获取音频或视频元数据、视频缩略图的demo可参考:[使用AVMetadataExtractor提取音视频元数据信息(ArkTS)](../../media/media/avmetadataextractor.md)。 ## 属性 @@ -20,7 +20,8 @@ setUrlSource(url: string, headers?: Record\): Promise\ -网络点播资源地址描述,通过该接口设置数据源。通过Promise获取返回值。只支持获取网络[fetchMetadata](#fetchmetadata11)(元数据)、[fetchFrameByTime](#fetchframebytime20)(缩略图),在获取之前,必须设置媒体来源url。 +网络点播资源地址描述,通过该接口设置数据源。使用Promise异步回调。只支持获取网络[fetchMetadata](#fetchmetadata11)(元数据)、[fetchFrameByTime](#fetchframebytime20)(缩略图),在获取之前,必须设置媒体来源url。 +**需要权限:** ohos.permission.INTERNET **系统能力:** SystemCapability.Multimedia.Media.AVMetadataExtractor @@ -29,22 +30,22 @@ setUrlSource(url: string, headers?: Record\): Promise\ | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------------------------------------- | ---- | ----------------------------------- | | url | string | 是 | 媒体来源url。
1. 支持的视频格式:mp4、mpeg-ts、mkv。
2. 支持的音频格式:m4a、aac、mp3、ogg、wav、flac、amr。
**支持路径示例**:
1. http网络播放:http\://xx。
2. https网络播放:https\://xx。
**说明:**
- 不支持设置hls/dash、直播资源。
- 设置网络资源路径,需[声明权限](../../security/AccessToken/declare-permissions.md):[ohos.permission.INTERNET](../../security/AccessToken/permissions-for-all.md#ohospermissioninternet),相关错误码: [201](../errorcode-universal.md)。| -| headers | Record\ | 否 | 支持访问网络资源HttpHeader自定义。 | +| headers | Record\ | 否 | 支持访问网络资源HttpHeader自定义。默认为空。| **返回值:** | 类型 | 说明 | | -------------- | ---------------------------------------- | -| Promise\ | 异步方式设置资源setUrlSource方法的Promise返回值。 | +| Promise\ | Promise对象,无返回结果。 | **错误码:** -以下错误码的详细介绍请参见[媒体错误码](errorcode-media.md)。 +以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[媒体错误码](errorcode-media.md)。 | 错误码ID | 错误信息 | | -------- | ----------------------------------------- | | 201 | Permission denied, requires internet access permission. Returned by promise. | -| 5400102 | Operation not allowed. Returned by promise. | +| 5400102 | Operation not allowed,Returned by promise.the URL source has already been set and cannot be modified. Returned by promise. | | 5400108 | Parameter check failed. Returned by promise. | **示例:** @@ -77,7 +78,7 @@ media.createAVMetadataExtractor((error: BusinessError, extractor: media.AVMetada fetchFrameByTime(timeUs: number, options: AVImageQueryOptions, param: PixelMapParams): Promise\ -获取视频缩略图。通过Promise异步回调。 +获取视频缩略图。使用Promise异步回调。 **系统能力:** SystemCapability.Multimedia.Media.AVMetadataExtractor -- Gitee From fe1d0af4d3085ec96b6d125e198e4987e27146c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E6=B4=AA=E5=BF=97?= Date: Wed, 2 Jul 2025 14:37:25 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E6=A3=80=E8=A7=86=E6=84=8F=E8=A7=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 蔡洪志 --- .../apis-media-kit/arkts-apis-media-AVMetadataExtractor.md | 1 + 1 file changed, 1 insertion(+) diff --git a/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md b/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md index 7147671d4e0..2d13c6197cc 100644 --- a/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md +++ b/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md @@ -21,6 +21,7 @@ setUrlSource(url: string, headers?: Record\): Promise\ 网络点播资源地址描述,通过该接口设置数据源。使用Promise异步回调。只支持获取网络[fetchMetadata](#fetchmetadata11)(元数据)、[fetchFrameByTime](#fetchframebytime20)(缩略图),在获取之前,必须设置媒体来源url。 + **需要权限:** ohos.permission.INTERNET **系统能力:** SystemCapability.Multimedia.Media.AVMetadataExtractor -- Gitee From 6d8148108d2e70ab7a60cbf495579964bd05de87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E6=B4=AA=E5=BF=97?= Date: Wed, 2 Jul 2025 15:06:38 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E7=A4=BA=E4=BE=8B=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 蔡洪志 --- .../apis-media-kit/arkts-apis-media-AVMetadataExtractor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md b/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md index 2d13c6197cc..46d0592c9ff 100644 --- a/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md +++ b/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md @@ -57,7 +57,7 @@ import { media } from '@kit.MediaKit'; let avMetadataExtractor: media.AVMetadataExtractor | undefined = undefined; -media.createAVMetadataExtractor((error: BusinessError, extractor: media.AVMetadataExtractor) => { +media.createAVMetadataExtractor(async (error: BusinessError, extractor: media.AVMetadataExtractor) => { if (extractor != null) { avMetadataExtractor = extractor; console.info('Succeeded in creating AVMetadataExtractor'); -- Gitee From f74dcbd083e0f063597eef393aa62450f5b4e163 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E6=B4=AA=E5=BF=97?= Date: Wed, 2 Jul 2025 15:24:04 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E9=97=A8=E7=A6=81=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 蔡洪志 --- zh-cn/application-dev/media/media/avmetadataextractor.md | 2 +- .../apis-media-kit/arkts-apis-media-AVMetadataExtractor.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/zh-cn/application-dev/media/media/avmetadataextractor.md b/zh-cn/application-dev/media/media/avmetadataextractor.md index 7314c797744..f22f1edd574 100644 --- a/zh-cn/application-dev/media/media/avmetadataextractor.md +++ b/zh-cn/application-dev/media/media/avmetadataextractor.md @@ -71,7 +71,7 @@ // 设置dataSrc。 avMetadataExtractor.dataSrc = dataSrc; - // 调用setUrlSource设置网络点播媒体来源url,用来获取在线音视频元数据和在线视频缩略图。 + // 调用setUrlSource设置网络点播媒体资源URL,用来获取在线音视频元数据和在线视频缩略图。 let url: string = 'http://xx.mp4'; let headers: Record = { "User-Agent" : "User-Agent-Value" diff --git a/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md b/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md index 46d0592c9ff..23410699fd2 100644 --- a/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md +++ b/zh-cn/application-dev/reference/apis-media-kit/arkts-apis-media-AVMetadataExtractor.md @@ -20,7 +20,7 @@ setUrlSource(url: string, headers?: Record\): Promise\ -网络点播资源地址描述,通过该接口设置数据源。使用Promise异步回调。只支持获取网络[fetchMetadata](#fetchmetadata11)(元数据)、[fetchFrameByTime](#fetchframebytime20)(缩略图),在获取之前,必须设置媒体来源url。 +网络点播资源地址描述,通过该接口设置数据源。使用Promise异步回调。只支持获取网络[fetchMetadata](#fetchmetadata11)(元数据)、[fetchFrameByTime](#fetchframebytime20)(缩略图),在获取之前,必须设置媒体资源URL。 **需要权限:** ohos.permission.INTERNET @@ -30,7 +30,7 @@ setUrlSource(url: string, headers?: Record\): Promise\ | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------------------------------------- | ---- | ----------------------------------- | -| url | string | 是 | 媒体来源url。
1. 支持的视频格式:mp4、mpeg-ts、mkv。
2. 支持的音频格式:m4a、aac、mp3、ogg、wav、flac、amr。
**支持路径示例**:
1. http网络播放:http\://xx。
2. https网络播放:https\://xx。
**说明:**
- 不支持设置hls/dash、直播资源。
- 设置网络资源路径,需[声明权限](../../security/AccessToken/declare-permissions.md):[ohos.permission.INTERNET](../../security/AccessToken/permissions-for-all.md#ohospermissioninternet),相关错误码: [201](../errorcode-universal.md)。| +| url | string | 是 | 媒体资源URL。
1. 支持的视频格式包括:mp4、mpeg-ts、mkv。
2. 支持的音频格式包括:m4a、aac、mp3、ogg、wav、flac、amr。
**支持路径示例**:
1. http网络播放:http\://xx。
2. https网络播放:https\://xx。
**说明:**
- 不支持设置hls/dash、直播资源。
- 设置网络资源路径,需[声明权限](../../security/AccessToken/declare-permissions.md):[ohos.permission.INTERNET](../../security/AccessToken/permissions-for-all.md#ohospermissioninternet),相关错误码: [201](../errorcode-universal.md)。| | headers | Record\ | 否 | 支持访问网络资源HttpHeader自定义。默认为空。| **返回值:** -- Gitee