未验证 提交 80294db4 编写于 作者: O openharmony_ci 提交者: Gitee

!17995 增加直播说明

Merge pull request !17995 from XUXIAOBO/master20230509
......@@ -59,6 +59,7 @@ AVPlayer提供功能完善一体化播放能力,应用只需要提供流媒体
| -------- | -------- |
| 本地点播 | 协议格式:支持file descriptor,禁止file path |
| 网络点播 | 协议格式:支持http/https/hls |
| 网络直播 | 协议格式:支持hls |
支持的音频播放格式如下:
......
......@@ -362,12 +362,12 @@ Audio/Video播放demo可参考:[音频播放开发指导](../../media/using-av
| fdSrc<sup>9+</sup> | [AVFileDescriptor](#avfiledescriptor9) | 是 | 是 | 媒体文件描述,只允许在**idle**状态下设置,静态属性。<br/>使用场景:应用中的媒体资源被连续存储在同一个文件中。<br/>支持的视频格式(mp4、mpeg-ts、webm、mkv)。<br>支持的音频格式(m4a、aac、mp3、ogg、wav)。<br/>**使用示例**<br/>假设一个连续存储的媒体文件: <br/>视频1(地址偏移:0,字节长度:100);<br/>视频2(地址偏移:101,字节长度:50);<br/>视频3(地址偏移:151,字节长度:150);<br/>1. 播放视频1:AVFileDescriptor { fd = 资源句柄; offset = 0; length = 100; }。<br/>2. 播放视频2:AVFileDescriptor { fd = 资源句柄; offset = 101; length = 50; }。<br/>3. 播放视频3:AVFileDescriptor { fd = 资源句柄; offset = 151; length = 150; }。<br/>假设是一个独立的媒体文件: 请使用src=fd://xx。 |
| dataSrc<sup>10+</sup> | [AVDataSrcDescriptor](#avdatasrcdescriptor10) | 是 | 是 | 流式媒体资源描述,只允许在**idle**状态下设置,静态属性。<br/>使用场景:应用播放从远端下载到本地的文件,在应用未下载完整音视频资源时,提前播放已获取的资源文件。<br/>支持的视频格式(mp4、mpeg-ts、webm、mkv)。<br>支持的音频格式(m4a、aac、mp3、ogg、wav)。<br/>**使用示例**<br/>假设用户正在从远端服务器获取音视频媒体文件,希望下载到本地的同时播放已经下载好的部分: <br/>1.用户需要获取媒体文件的总大小size(单位为字节),获取不到时设置为-1。<br/>2.用户需要实现回调函数func用于填写数据,如果size = -1,则func形式为:func(buffer: ArrayBuffer, length: number),此时播放器只会按照顺序获取数据;否则func形式为:func(buffer: ArrayBuffer, length: number, pos: number),播放器会按需跳转并获取数据。<br/>3.用户设置AVDataSrcDescriptor {fileSize = size, callback = func}。<br/>**注意事项**<br/>如果播放的是mp4/m4a格式用户需要保证moov字段(媒体信息字段)在mdat字段(媒体数据字段)之前,或者moov之前的字段小于10M,否则会导致解析失败无法播放。 |
| surfaceId<sup>9+</sup> | string | 是 | 是 | 视频窗口ID,默认无窗口,只允许在**initialized**状态下设置,静态属性。<br/>使用场景:视频播放的窗口渲染,纯音频播放不用设置。<br/>**使用示例**<br/>[通过Xcomponent创建surfaceId](../arkui-ts/ts-basic-components-xcomponent.md#getxcomponentsurfaceid)。 |
| loop<sup>9+</sup> | boolean | 是 | 是 | 视频循环播放属性,默认'false',设置为'true'表示循环播放,动态属性。<br/>只允许在**prepared**/**playing**/**paused**/**completed**状态下设置。 |
| loop<sup>9+</sup> | boolean | 是 | 是 | 视频循环播放属性,默认'false',设置为'true'表示循环播放,动态属性。<br/>只允许在**prepared**/**playing**/**paused**/**completed**状态下设置。<br/>直播场景不支持loop设置。 |
| videoScaleType<sup>9+</sup> | [VideoScaleType](#videoscaletype9) | 是 | 是 | 视频缩放模式,默认VIDEO_SCALE_TYPE_FIT_CROP,动态属性。<br/>只允许在**prepared**/**playing**/**paused**/**completed**状态下设置。 |
| audioInterruptMode<sup>9+</sup> | [audio.InterruptMode](js-apis-audio.md#interruptmode9) | 是 | 是 | 音频焦点模型,默认SHARE_MODE,动态属性。<br/>只允许在**prepared**/**playing**/**paused**/**completed**状态下设置。 |
| audioRendererInfo<sup>10+</sup> | [audio.AudioRendererInfo](js-apis-audio.md#audiorendererinfo8) | 是 | 是 | 设置音频渲染信息,默认值contentType为CONTENT_TYPE_MUSIC,streamUsage为STREAM_USAGE_MEDIA。<br/>只允许在**initialized**状态下设置 |
| state<sup>9+</sup> | [AVPlayerState](#avplayerstate9) | 是 | 否 | 音视频播放的状态,全状态有效,可查询参数。 |
| currentTime<sup>9+</sup> | number | 是 | 否 | 视频的当前播放位置,单位为毫秒(ms),可查询参数。<br/>返回为(-1)表示无效值,**prepared**/**playing**/**paused**/**completed**状态下有效。 |
| currentTime<sup>9+</sup> | number | 是 | 否 | 视频的当前播放位置,单位为毫秒(ms),可查询参数。<br/>返回为(-1)表示无效值,**prepared**/**playing**/**paused**/**completed**状态下有效。<br/>直播场景默认返回(-1)。 |
| duration<sup>9+</sup><a name=avplayer_duration></a> | number | 是 | 否 | 视频时长,单位为毫秒(ms),可查询参数。<br/>返回为(-1)表示无效值,**prepared**/**playing**/**paused**/**completed**状态下有效。<br/>直播场景默认返回(-1)。 |
| width<sup>9+</sup> | number | 是 | 否 | 视频宽,单位为像素(px),可查询参数。<br/>返回为(0)表示无效值,**prepared**/**playing**/**paused**/**completed**状态下有效。 |
| height<sup>9+</sup> | number | 是 | 否 | 视频高,单位为像素(px),可查询参数。<br/>返回为(0)表示无效值,**prepared**/**playing**/**paused**/**completed**状态下有效。 |
......@@ -1003,6 +1003,7 @@ for (let i = 0; i < arrayDescription.length; i++) {
seek(timeMs: number, mode?:SeekMode): void
跳转到指定播放位置,只能在prepared/playing/paused/complete状态调用,可以通过[seekDone事件](#seekDone_on)确认是否生效。
注:直播场景不支持seek。
**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
......@@ -1068,6 +1069,7 @@ avPlayer.off('seekDone')
setSpeed(speed: PlaybackSpeed): void
设置倍速模式,只能在prepared/playing/paused/complete状态调用,可以通过[speedDone事件](#speedDone_on)确认是否生效。
注:直播场景不支持setSpeed。
**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
......@@ -1345,6 +1347,7 @@ avPlayer.off('endOfStream')
on(type: 'timeUpdate', callback: Callback\<number>): void
监听资源播放当前时间,单位为毫秒(ms),用于刷新进度条当前位置,默认间隔1s时间上报,因用户操作(seek)产生的时间变化会立刻上报。
注:直播场景不支持timeUpdate上报。
**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
......@@ -1388,6 +1391,7 @@ avPlayer.off('timeUpdate')
on(type: 'durationUpdate', callback: Callback\<number>): void
监听资源播放资源的时长,单位为毫秒(ms),用于刷新进度条长度,默认只在prepared上报一次,同时允许一些特殊码流刷新多次时长。
注:直播场景不支持durationUpdate上报。
**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册