Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
76d6a176
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
76d6a176
编写于
6月 01, 2023
作者:
O
openharmony_ci
提交者:
Gitee
6月 01, 2023
浏览文件
操作
浏览文件
下载
差异文件
!18453 avplayer增加音轨设置接口
Merge pull request !18453 from 谢益君/audio_track_0520
上级
074a508f
cc2faff6
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
185 addition
and
23 deletion
+185
-23
zh-cn/application-dev/reference/apis/js-apis-media.md
zh-cn/application-dev/reference/apis/js-apis-media.md
+185
-23
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-media.md
浏览文件 @
76d6a176
...
...
@@ -309,18 +309,19 @@ Codec MIME类型枚举。
**系统能力:**
SystemCapability.Multimedia.Media.Core
| 名称 | 值 | 说明 |
| ------------------------ | --------------- | ------------------------------------------------------------ |
| MD_KEY_TRACK_INDEX | 'track_index' | 表示轨道序号,其对应键值类型为number。 |
| MD_KEY_TRACK_TYPE | 'track_type' | 表示轨道类型,其对应键值类型为number,参考
[
MediaType
](
#mediatype8
)
。 |
| MD_KEY_CODEC_MIME | 'codec_mime' | 表示codec_mime类型,其对应键值类型为string。 |
| MD_KEY_DURATION | 'duration' | 表示媒体时长,其对应键值类型为number,单位为毫秒(ms)。 |
| MD_KEY_BITRATE | 'bitrate' | 表示比特率,其对应键值类型为number,单位为比特率(bps)。 |
| MD_KEY_WIDTH | 'width' | 表示视频宽度,其对应键值类型为number,单位为像素(px)。 |
| MD_KEY_HEIGHT | 'height' | 表示视频高度,其对应键值类型为number,单位为像素(px)。 |
| 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_TRACK_INDEX | 'track_index' | 表示轨道序号,其对应键值类型为number。 |
| MD_KEY_TRACK_TYPE | 'track_type' | 表示轨道类型,其对应键值类型为number,参考
[
MediaType
](
#mediatype8
)
。 |
| MD_KEY_CODEC_MIME | 'codec_mime' | 表示codec_mime类型,其对应键值类型为string。 |
| MD_KEY_DURATION | 'duration' | 表示媒体时长,其对应键值类型为number,单位为毫秒(ms)。 |
| MD_KEY_BITRATE | 'bitrate' | 表示比特率,其对应键值类型为number,单位为比特率(bps)。 |
| MD_KEY_WIDTH | 'width' | 表示视频宽度,其对应键值类型为number,单位为像素(px)。 |
| MD_KEY_HEIGHT | 'height' | 表示视频高度,其对应键值类型为number,单位为像素(px)。 |
| 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
<sup>
10+
</sup>
| "language" | 表示语言信息,其对应键值类型为string。 |
## BufferingInfoType<sup>8+</sup>
...
...
@@ -580,7 +581,7 @@ avPlayer.prepare().then(() => {
play(callback: AsyncCallback
\<
void>): void
通过回调方式开始播放音视频资源,只能在prepared/paused/complete状态调用。
通过回调方式开始播放音视频资源,只能在prepared/paused/complete
d
状态调用。
**系统能力:**
SystemCapability.Multimedia.Media.AVPlayer
...
...
@@ -614,7 +615,7 @@ avPlayer.play((err) => {
play(): Promise
\<
void>
通过Promise方式开始播放音视频资源,只能在prepared/paused/complete状态调用。
通过Promise方式开始播放音视频资源,只能在prepared/paused/complete
d
状态调用。
**系统能力:**
SystemCapability.Multimedia.Media.AVPlayer
...
...
@@ -712,7 +713,7 @@ avPlayer.pause().then(() => {
stop(callback: AsyncCallback
\<
void>): void
通过回调方式停止播放音视频资源,只能在prepared/playing/paused/complete状态调用。
通过回调方式停止播放音视频资源,只能在prepared/playing/paused/complete
d
状态调用。
**系统能力:**
SystemCapability.Multimedia.Media.AVPlayer
...
...
@@ -746,7 +747,7 @@ avPlayer.stop((err) => {
stop(): Promise
\<
void>
通过Promise方式停止播放音视频资源,只能在prepared/playing/paused/complete状态调用。
通过Promise方式停止播放音视频资源,只能在prepared/playing/paused/complete
d
状态调用。
**系统能力:**
SystemCapability.Multimedia.Media.AVPlayer
...
...
@@ -778,7 +779,7 @@ avPlayer.stop().then(() => {
reset(callback: AsyncCallback
\<
void>): void
通过回调方式重置播放,只能在initialized/prepared/playing/paused/complete/stopped/error状态调用。
通过回调方式重置播放,只能在initialized/prepared/playing/paused/complete
d
/stopped/error状态调用。
**系统能力:**
SystemCapability.Multimedia.Media.AVPlayer
...
...
@@ -812,7 +813,7 @@ avPlayer.reset((err) => {
reset(): Promise
\<
void>
通过Promise方式通过Promise方式重置播放,只能在initialized/prepared/playing/paused/complete/stopped/error状态调用。
通过Promise方式通过Promise方式重置播放,只能在initialized/prepared/playing/paused/complete
d
/stopped/error状态调用。
**系统能力:**
SystemCapability.Multimedia.Media.AVPlayer
...
...
@@ -906,7 +907,7 @@ avPlayer.release().then(() => {
})
```
### getTrackDescription<sup>9+</sup>
### getTrackDescription<sup>9+</sup>
<a name=avplayer_gettrackdescription></a>
getTrackDescription(callback: AsyncCallback
\<
Array
\<
MediaDescription>>): void
...
...
@@ -998,11 +999,129 @@ for (let i = 0; i < arrayDescription.length; i++) {
}
```
### selectTrack<sup>10+</sup><a name=avplayer_selecttrack></a>
selectTrack(index: number): void
选择音频轨道,只能在prepared状态调用,可以通过监听
[
trackChange事件
](
#trackchange_on
)
确认是否生效。
**系统能力:**
SystemCapability.Multimedia.Media.AVPlayer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------------------------------------------ |
| index | number | 是 | 轨道序号,可以通过
[
getTrackDescription
](
#avplayer_gettrackdescription
)
获取。 |
**示例:**
```
js
let
index
=
2
avPlayer
.
setBitrate
(
index
)
```
### deselectTrack<sup>10+</sup><a name=avplayer_deselecttrack></a>
deselectTrack(index: number): void
取消已经选择的音频轨道,取消后会播放默认音频轨道。只能在prepared状态调用,可以通过监听
[
trackChange事件
](
#trackchange_on
)
确认是否生效。
**系统能力:**
SystemCapability.Multimedia.Media.AVPlayer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------------------------------------------ |
| index | number | 是 | 轨道序号,可以通过
[
getCurrentTrack
](
#avplayer_getcurrenttrack
)
获取当前生效的轨道序号。 |
**示例:**
```
js
let
index
=
2
avPlayer
.
deselectTrack
(
index
)
```
### getCurrentTrack<sup>10+</sup><a name=avplayer_getcurrenttrack></a>
getCurrentTrack(trackType: MediaType, callback: AsyncCallback
\<
number>): void
通过回调方式获取当前生效的轨道序号,只能在prepared/playing/paused/completed状态调用。
**系统能力:**
SystemCapability.Multimedia.Media.AVPlayer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ----------------------- | ---- | ------------------------------------------------------------ |
| trackType |
[
MediaType
](
#mediatype
)
| 是 | 媒体类型枚举。 |
| callback | AsyncCallback
\<
number> | 是 | 获取当前生效轨道序号回调方法,返回-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
);
}
});
```
### getCurrentTrack<sup>10+</sup>
getCurrentTrack(trackType: MediaType): Promise
\<
number>
通过Promise方式获取当前生效的轨道序号,只能在prepared/playing/paused/completed状态调用。
**系统能力:**
SystemCapability.Multimedia.Media.AVPlayer
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| trackType |
[
MediaType
](
#mediatype
)
|
| Promise
\<
number> | 当前生效的轨道序号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
);
});
```
### seek<sup>9+</sup><a name=avplayer_seek></a>
seek(timeMs: number, mode?:SeekMode): void
跳转到指定播放位置,只能在prepared/playing/paused/complete状态调用,可以通过
[
seekDone事件
](
#seekDone_on
)
确认是否生效。
跳转到指定播放位置,只能在prepared/playing/paused/complete
d
状态调用,可以通过
[
seekDone事件
](
#seekDone_on
)
确认是否生效。
注:直播场景不支持seek。
**系统能力:**
SystemCapability.Multimedia.Media.AVPlayer
...
...
@@ -1068,7 +1187,7 @@ avPlayer.off('seekDone')
setSpeed(speed: PlaybackSpeed): void
设置倍速模式,只能在prepared/playing/paused/complete状态调用,可以通过
[
speedDone事件
](
#speedDone_on
)
确认是否生效。
设置倍速模式,只能在prepared/playing/paused/complete
d
状态调用,可以通过
[
speedDone事件
](
#speedDone_on
)
确认是否生效。
注:直播场景不支持setSpeed。
**系统能力:**
SystemCapability.Multimedia.Media.AVPlayer
...
...
@@ -1132,7 +1251,7 @@ avPlayer.off('speedDone')
setBitrate(bitrate: number): void
选择要播放的指定比特率,仅对
**HLS协议网络流**
有效,只能在prepared/playing/paused/complete状态调用,可以通过
[
bitrateDone
](
#bitrateDone_on
)
事件确认是否生效。
选择要播放的指定比特率,仅对
**HLS协议网络流**
有效,只能在prepared/playing/paused/complete
d
状态调用,可以通过
[
bitrateDone
](
#bitrateDone_on
)
事件确认是否生效。
**系统能力:**
SystemCapability.Multimedia.Media.AVPlayer
...
...
@@ -1239,7 +1358,7 @@ avPlayer.off('availableBitrates')
setVolume(volume: number): void
设置媒体播放音量,只能在prepared/playing/paused/complete状态调用,可以通过
[
volumeChange事件
](
#volumeChange_on
)
确认是否生效。
设置媒体播放音量,只能在prepared/playing/paused/complete
d
状态调用,可以通过
[
volumeChange事件
](
#volumeChange_on
)
确认是否生效。
**系统能力:**
SystemCapability.Multimedia.Media.AVPlayer
...
...
@@ -1604,6 +1723,49 @@ off(type: 'audioInterrupt'): void
avPlayer
.
off
(
'
audioInterrupt
'
)
```
### on('trackChange')<sup>10+</sup><a name = trackchange_on></a>
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')<sup>10+</sup><a name = trackchange_off></a>
off(type: 'trackChange'): void
取消监听生效轨道变化事件。
**系统能力:**
SystemCapability.Multimedia.Media.AVPlayer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | --------------------------------------------------------- |
| type | string | 是 | 生效轨道变化事件回调类型,取消注册的事件:'trackChange'。 |
**示例:**
```
js
avPlayer
.
off
(
'
trackChange
'
)
```
## AVPlayerState<sup>9+</sup><a name = avplayerstate></a>
[
AVPlayer
](
#avplayer9
)
的状态机,可通过state属性主动获取当前状态,也可通过监听
[
stateChange
](
#stateChange_on
)
事件上报当前状态,状态机之间的切换规则,可参考
[
音频播放开发指导
](
../../media/using-avplayer-for-playback.md
)
。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录