diff --git a/zh-cn/application-dev/reference/apis/js-apis-media.md b/zh-cn/application-dev/reference/apis/js-apis-media.md
index d9e5b6de48fcada343bb882eea768a284484978b..c77e91242a49f35dd0ac7888fe4d2d3384f3c2d0 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-media.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-media.md
@@ -275,7 +275,7 @@ media.createVideoRecorder().then((video) => {
| AVERR_SERVICE_DIED | 5400105 | 表示服务进程死亡。 |
| AVERR_UNSUPPORT_FORMAT | 5400106 | 表示不支持当前媒体资源的格式。 |
-## MediaType8+
+## MediaType8+
媒体类型枚举。
@@ -321,6 +321,7 @@ Codec MIME类型枚举。
| MD_KEY_FRAME_RATE | 'frame_rate' | 表示视频帧率,其对应键值类型为number,单位为100帧每秒(100fps)。 |
| MD_KEY_AUD_CHANNEL_COUNT | 'channel_count' | 表示声道数,其对应键值类型为number。 |
| MD_KEY_AUD_SAMPLE_RATE | 'sample_rate' | 表示采样率,其对应键值类型为number,单位为赫兹(Hz)。 |
+| MD_KEY_LANGUAGE | "language" | 表示语言信息,其对应键值类型为string。 |
## BufferingInfoType8+
@@ -906,7 +907,7 @@ avPlayer.release().then(() => {
})
```
-### getTrackDescription9+
+### getTrackDescription9+
getTrackDescription(callback: AsyncCallback\>): void
@@ -998,6 +999,124 @@ for (let i = 0; i < arrayDescription.length; i++) {
}
```
+### selectTrack10+
+
+selectTrack(index: number): void;
+
+选择音频轨道,只能在prepared状态调用,可以通过[trackChange事件](#trackchange_on)确认是否生效。
+
+**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ------ | ---- | ------------------------------------------------------------ |
+| index | number | 是 | 轨道序号,可以通过[getTrackDescription](#avplayer_gettrackdescription)获取。 |
+
+**示例:**
+
+```js
+let index = 2
+avPlayer.setBitrate(index)
+```
+
+### deselectTrack10+
+
+deselectTrack(index: number): void;
+
+取消已经选择的音频轨道,取消后会播放默认音频轨道。只能在prepared状态调用,可以通过[trackChange事件](#trackchange_on)确认是否生效。
+
+**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ------ | ---- | ------------------------------------------------------------ |
+| index | number | 是 | 轨道序号,可以通过[getTrackDescription](#avplayer_gettrackdescription)获取。 |
+
+**示例:**
+
+```js
+let index = 2
+avPlayer.deselectTrack(index)
+```
+
+### getCurrentTrack10+
+
+getCurrentTrack(trackType: MediaType, callback: AsyncCallback\): void;
+
+通过回调方式获取当前生效的轨道信息,可以在prepared/playing/paused状态调用。
+
+**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | ----------------------- | ---- | ------------------------------------------------------------ |
+| trackType | [MediaType](#mediatype) | 是 | 媒体类型枚举。 |
+| callback | AsyncCallback\ | 是 | 获取当前生效轨道序号回调方法,返回-1表示当前无该媒体类型轨道。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[媒体错误码](../errorcodes/errorcode-media.md)
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------------ |
+| 5400102 | Operation not allowed. Return by callback. |
+
+**示例:**
+
+```js
+let mediaType = media.MediaType.MEDIA_TYPE_AUD;
+let trackIndex = null;
+
+avPlayer.getCurrentTrack(mediaType (err, index) => {
+ if (err == null) {
+ console.info('getCurrentTrack success');
+ trackIndex = index;
+ } else {
+ console.error('getCurrentTrack failed and error is ' + err.message);
+ }
+});
+```
+
+### getCurrentTrack10+
+
+getCurrentTrack(trackType: MediaType): Promise\;
+
+通过Promise方式获取当前生效的轨道信息,可以在prepared/playing/paused状态调用。
+
+**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
+
+**返回值:**
+
+| 类型 | 说明 |
+| ---------------- | ------------------------------------------------------------ |
+| trackType | [MediaType](#mediatype) |
+| Promise\ | 当前生效的轨道序号Promise返回值,-1表示当前无该媒体类型轨道。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[媒体错误码](../errorcodes/errorcode-media.md)
+
+| 错误码ID | 错误信息 |
+| -------- | ----------------------------------------- |
+| 5400102 | Operation not allowed. Return by promise. |
+
+**示例:**
+
+```js
+let mediaType = media.MediaType.MEDIA_TYPE_AUD;
+let trackIndex = null;
+
+avPlayer.getCurrentTrack(mediaType).then((index) => {
+ console.info('getCurrentTrack success');
+ trackIndex = index;
+}).catch((err) => {
+ console.error('getCurrentTrack failed and catch error is ' + err.message);
+});
+```
+
### seek9+
seek(timeMs: number, mode?:SeekMode): void
@@ -1604,6 +1723,49 @@ off(type: 'audioInterrupt'): void
avPlayer.off('audioInterrupt')
```
+### on('trackChange')10+
+
+on(type: 'trackChange', callback: (index: number, isSelect: boolean) => void): void;
+
+监听selectTrack和deselectTrack生效的事件。
+
+**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | ---- | ----------------------------------------------------- |
+| type | string | 是 | 生效轨道变化事件回调类型,支持的事件:'trackChange'。 |
+| callback | function | 是 | 生效轨道变化事件回调方法。 |
+
+**示例:**
+
+```js
+avPlayer.on('trackChange', (index: number, isSelect: boolean) => {
+ console.info('trackChange success, and index is:' + index + ', isSelect is :' + isSelect)
+})
+```
+
+### off('trackChange')10+
+
+off(type: 'trackChange'): void
+
+取消监听生效轨道变化事件。
+
+**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ------ | ---- | --------------------------------------------------------- |
+| type | string | 是 | 生效轨道变化事件回调类型,取消注册的事件:'trackChange'。 |
+
+**示例:**
+
+```js
+avPlayer.off('trackChange')
+```
+
## AVPlayerState9+
[AVPlayer](#avplayer9)的状态机,可通过state属性主动获取当前状态,也可通过监听[stateChange](#stateChange_on)事件上报当前状态,状态机之间的切换规则,可参考[音频播放开发指导](../../media/using-avplayer-for-playback.md)。