openharmony 鸿蒙 changelogs-multimedia

2025-06-16 浏览 (1)

multimedia子系统变更说明

cl.multimedia.1 Core模块接口废弃

访问级别

公开接口

变更原因

媒体数据结构AVMemory废弃,支持AVBuffer。

变更影响

该变更为兼容性变更,需要开发者进行适配。

API Level

接口声明API Level
OH_AVMemory_Create10
OH_AVMemory_GetAddr9
OH_AVMemory_GetSize9
OH_AVMemory_Destroy10

变更发生版本

从OpenHarmony SDK 4.1.6.3 开始。

变更的接口/组件

接口声明废弃说明替代接口
OH_AVMemory_CreateAVMemory实例创建接口废弃,支持AVBufferOH_AVBuffer_Create
OH_AVMemory_GetAddr获取内存虚拟地址接口废弃,支持AVBufferOH_AVBuffer_GetAddr
OH_AVMemory_GetSize获取内存长度接口废弃,支持AVBufferOH_AVBuffer_GetCapacity
OH_AVMemory_Destroy销毁AVMemory实例接口废弃,支持AVBufferOH_AVBuffer_Destroy

适配指导

变更前:

在媒体编解码/封装/解封装等功能实现时,使用AVMemory相应的创建/获取内存地址/内存长度/销毁接口操作数据内存

变更后:

在媒体编解码/封装/解封装等功能实现时,使用AVBuffer相应的创建/获取内存地址/内存长度/销毁接口操作数据内存

cl.multimedia.2 CodecBase模块接口废弃

访问级别

公开接口

变更原因

接口数据流转废弃AVMemory,支持AVBuffer,删除不支持的规格。

变更影响

该变更为兼容性变更,需要开发者进行适配。

API Level

接口声明API Level
OH_AVCodecOnNeedInputData9
OH_AVCodecOnNewOutputData9
OH_AVCodecAsyncCallback9
const char *OH_AVCODEC_MIMETYPE_VIDEO_MPEG410
AudioChannelSet10
AudioChanelLayout10

变更发生版本

从OpenHarmony SDK 4.1.6.3 开始。

变更的接口/组件

接口声明废弃说明替代接口
OH_AVCodecOnNeedInputData编解码输入数据回调由AVMemory增强为AVBufferOH_AVCodecOnNeedInputBuffer
OH_AVCodecOnNewOutputData编解码输出数据回调由AVMemory增强为AVBufferOH_AVCodecOnNewOutputBuffer
OH_AVCodecAsyncCallback注册回调函数指针集合,由AVMemory增强为AVBufferOH_AVCodecCallback
const char *OH_AVCODEC_MIMETYPE_VIDEO_MPEG4封装不支持该规格
AudioChannelSet接口变更OH_AudioChannelSet
AudioChanelLayout接口变更OH_AudioChannelLayout

适配指导

变更前:

音视频编解码器,注册回调函数指针集合OH_AVCodecAsyncCallback,其中:

编解码输入回调实现OH_AVCodecOnNeedInputData

编解码输出回调实现OH_AVCodecOnNewOutputData

封装格式指定为OH_AVCODEC_MIMETYPE_VIDEO_MPEG4进行封装

使用 AudioChannelSet 枚举定义音频声道设置

使用 AudioChanelLayout 枚举定义音频声道布局

变更后:

音视频编解码器,注册回调函数指针集合OH_AVCodecCallback,其中:

编解码输入回调实现OH_AVCodecOnNeedInputBuffer

编解码输出回调实现OH_AVCodecOnNewOutputBuffer

封装格式不支持OH_AVCODEC_MIMETYPE_VIDEO_MPEG4

使用 OH_AudioChannelSet 枚举定义音频声道设置

使用 OH_AudioChannelLayout 枚举定义音频声道布局

cl.multimedia.3 VideoDecoder模块接口废弃

访问级别

公开接口

变更原因

接口数据流转废弃AVMemory,支持AVBuffer

变更影响

该变更为兼容性变更,需要开发者进行适配。

API Level

接口声明API Level
OH_VideoDecoder_SetCallback9
OH_VideoDecoder_PushInputData9
OH_VideoDecoder_RenderOutputData9
OH_VideoDecoder_FreeOutputData9

变更发生版本

从OpenHarmony SDK 4.1.6.3 开始。

变更的接口/组件

接口声明废弃说明替代接口
OH_VideoDecoder_SetCallback回调注册函数支持数据结构AVBufferOH_VideoDecoder_RegisterCallback
OH_VideoDecoder_PushInputData解码输入码流数据结构支持AVBufferOH_VideoDecoder_PushInputBuffer
OH_VideoDecoder_RenderOutputData解码输出渲染控制支持AVBufferOH_VideoDecoder_RenderOutputBuffer
OH_VideoDecoder_FreeOutputData解码输出释放控制支持AVBufferOH_VideoDecoder_FreeOutputBuffer

适配指导

变更前:

调用OH_VideoDecoder_SetCallback()设置回调函数

当收到输入回调通知,调用OH_VideoDecoder_PushInputData填入码流数据

当收到输出回调通知,调用OH_VideoDecoder_FreeOutputData释放输出图像或调用OH_VideoDecoder_RenderOutputData渲染图像

变更后:

调用OH_VideoDecoder_RegisterCallback()设置回调函数

当收到输入回调通知,调用OH_VideoDecoder_PushInputBuffer填入码流数据

当收到输出回调通知,调用OH_VideoDecoder_FreeOutputBuffer释放输出图像或调用OH_VideoDecoder_RenderOutputBuffer渲染图像

cl.multimedia.4 VideoEncoder模块接口废弃

访问级别

公开接口

变更原因

接口数据流转废弃AVMemory,支持AVBuffer

变更影响

该变更为兼容性变更,需要开发者进行适配。

API Level

接口声明API Level
OH_VideoEncoder_SetCallback9
OH_VideoEncoder_PushInputData9
OH_VideoEncoder_FreeOutputData9

变更发生版本

从OpenHarmony SDK 4.1.6.3 开始。

变更的接口/组件

接口声明废弃说明替代接口
OH_VideoEncoder_SetCallback回调注册函数支持数据结构AVBufferOH_VideoEncoder_RegisterCallback
OH_VideoEncoder_PushInputData解码输入码流数据结构支持AVBufferOH_VideoEncoder_PushInputBuffer
OH_VideoEncoder_FreeOutputData解码输出释放控制支持AVBufferOH_VideoEncoder_FreeOutputBuffer

适配指导

变更前:

调用OH_VideoEncoder_SetCallback()设置回调函数

当收到输入回调通知,调用OH_VideoEncoder_PushInputData填入待编码数据

当收到输出回调通知,调用OH_VideoEncoder_FreeOutputData释放输出数据

变更后:

调用OH_VideoEncoder_RegisterCallback()设置回调函数

当收到输入回调通知,调用OH_VideoEncoder_PushInputBuffer填入待编码数据

当收到输出回调通知,调用OH_VideoEncoder_FreeOutputBuffer释放输出数据

cl.multimedia.5 AVDemuxer模块接口废弃

访问级别

公开接口

变更原因

接口数据流转废弃AVMemory,支持AVBuffer

变更影响

该变更为兼容性变更,需要开发者进行适配。

API Level

接口声明API Level
OH_AVDemuxer_ReadSample10

变更发生版本

从OpenHarmony SDK 4.1.6.3 开始。

变更的接口/组件

接口声明废弃说明替代接口
OH_AVDemuxer_ReadSample解封装获取帧函数支持数据结构AVBufferOH_AVDemuxer_ReadSampleBuffer

适配指导

变更前:

调用OH_AVDemuxer_ReadSample()获取压缩帧及相关信息

变更后:

调用OH_AVDemuxer_ReadSampleBuffer()获取压缩帧及相关信息

cl.multimedia.6 AVMuxer模块接口废弃

访问级别

公开接口

变更原因

接口数据流转废弃AVMemory,支持AVBuffer

变更影响

该变更为兼容性变更,需要开发者进行适配。

API Level

接口声明API Level
OH_AVMuxer_WriteSample10

变更发生版本

从OpenHarmony SDK 4.1.6.3 开始。

变更的接口/组件

接口声明废弃说明替代接口
OH_AVMuxer_WriteSample封装写入帧函数支持数据结构AVBufferOH_AVMuxer_WriteSampleBuffer

适配指导

变更前:

调用OH_AVMuxer_WriteSample()写入压缩帧及相关信息

变更后:

调用OH_AVMuxer_WriteSampleBuffer()写入压缩帧及相关信息

cl.multimedia.7 AudioDecoder模块接口废弃

访问级别

公开接口

变更原因

接口数据流转废弃AVMemory,支持AVBuffer,原音频解码模块变更为音频编解码模块。

变更影响

该变更为兼容性变更,需要开发者进行适配。

API Level

接口声明API Level
OH_AudioDecoder_CreateByName9
OH_AudioDecoder_CreateByMime9
OH_AudioDecoder_SetCallback9
OH_AudioDecoder_Configure9
OH_AudioDecoder_Prepare9
OH_AudioDecoder_Start9
OH_AudioDecoder_PushInputData9
OH_AudioDecoder_FreeOutputData9
OH_AudioDecoder_Flush9
OH_AudioDecoder_IsValid10
OH_AudioDecoder_Reset9
OH_AudioDecoder_Stop9
OH_AudioDecoder_Destroy9

变更发生版本

从OpenHarmony SDK 4.1.6.3 开始。

变更的接口/组件

接口声明废弃说明替代接口
OH_AudioDecoder_CreateByName原音频解码模块变更为音频编解码模块OH_AudioCodec_CreateByName
OH_AudioDecoder_CreateByMime原音频解码模块变更为音频编解码模块OH_AudioCodec_CreateByMime
OH_AudioDecoder_SetCallback原音频解码模块变更为音频编解码模块,回调注册函数支持数据结构AVBufferOH_AudioCodec_RegisterCallback
OH_AudioDecoder_Configure原音频解码模块变更为音频编解码模块OH_AudioCodec_Configure
OH_AudioDecoder_Prepare原音频解码模块变更为音频编解码模块OH_AudioCodec_Prepare
OH_AudioDecoder_Start原音频解码模块变更为音频编解码模块OH_AudioCodec_Start
OH_AudioDecoder_PushInputData原音频解码模块变更为音频编解码模块OH_AudioCodec_PushInputBuffer
OH_AudioDecoder_FreeOutputData原音频解码模块变更为音频编解码模块OH_AudioCodec_FreeOutputBuffer
OH_AudioDecoder_Flush原音频解码模块变更为音频编解码模块OH_AudioCodec_Flush
OH_AudioDecoder_IsValid原音频解码模块变更为音频编解码模块OH_AudioCodec_IsValid
OH_AudioDecoder_Reset原音频解码模块变更为音频编解码模块OH_AudioCodec_Reset
OH_AudioDecoder_Stop原音频解码模块变更为音频编解码模块OH_AudioCodec_Stop
OH_AudioDecoder_Destroy原音频解码模块变更为音频编解码模块OH_AudioCodec_Destroy

适配指导

变更前:

调用OH_AudioDecoder_CreateByName()或OH_AudioDecoder_CreateByMime(),创建解码器。

调用OH_AudioDecoder_SetCallback(),设置回调函数。

调用OH_AudioDecoder_Configure(),配置解码器。

调用OH_AudioDecoder_Prepare(),解码器就绪。

调用OH_AudioDecoder_Start(),启动解码器,进入运行态。

调用OH_AudioDecoder_PushInputData(),写入待解码的数据。

调用OH_AudioDecoder_FreeOutputData(),输出解码后的PCM码流。

(可选)调用OH_AudioDecoder_Flush(),刷新解码器。

(可选)调用OH_AudioDecoder_IsValid(),可以判断在执行过程中是否可以继续执行。

(可选)调用OH_AudioDecoder_Reset(),重置解码器。

调用OH_AudioDecoder_Stop(),停止解码器。

调用OH_AudioDecoder_Destroy(),销毁解码器实例,释放资源。

变更后:

调用OH_AudioCodec_CreateByName()或OH_AudioCodec_CreateByMime,创建编解码器。

调用OH_AudioCodec_SetCallback(),设置回调函数。

调用OH_AudioCodec_Configure(),配置编解码器。

调用OH_AudioCodec_Prepare(),编解码器就绪。

调用OH_AudioCodec_Start(),启动编解码器,进入运行态。

调用OH_AudioCodec_PushInputData(),写入待编解码的数据。

调用OH_AudioCodec_FreeOutputData(),输出编解码格式码流。

(可选)调用OH_AudioCodec_Flush(),刷新编解码器。

(可选)调用OH_AudioCodec_IsValid(),可以判断在执行过程中是否可以继续执行。

(可选)调用OH_AudioCodec_Reset(),重置编解码器。

调用OH_AudioCodec_Stop(),停止编解码器。

调用OH_AudioCodec_Destroy(),销毁编解码器实例,释放资源。

cl.multimedia.8 AudioEncoder模块接口废弃

访问级别

公开接口

变更原因

接口数据流转废弃AVMemory,支持AVBuffer,原音频编码模块变更为音频编解码模块。

变更影响

该变更为兼容性变更,需要开发者进行适配。

API Level

接口声明API Level
OH_AudioEncoder_CreateByName9
OH_AudioEncoder_CreateByMime9
OH_AudioEncoder_SetCallback9
OH_AudioEncoder_Configure9
OH_AudioEncoder_Prepare9
OH_AudioEncoder_Start9
OH_AudioEncoder_PushInputData9
OH_AudioEncoder_FreeOutputData9
OH_AudioEncoder_Flush9
OH_AudioEncoder_IsValid10
OH_AudioEncoder_Reset9
OH_AudioEncoder_Stop9
OH_AudioEncoder_Destroy9

变更发生版本

从OpenHarmony SDK 4.1.6.3 开始。

变更的接口/组件

接口声明废弃说明替代接口
OH_AudioEncoder_CreateByName原音频编码模块变更为音频编解码模块OH_AudioCodec_CreateByName
OH_AudioEncoder_CreateByMime原音频编码模块变更为音频编解码模块OH_AudioCodec_CreateByMime
OH_AudioEncoder_SetCallback原音频编码模块变更为音频编解码模块,回调注册函数支持数据结构AVBufferOH_AudioCodec_RegisterCallback
OH_AudioEncoder_Configure原音频编码模块变更为音频编解码模块OH_AudioCodec_Configure
OH_AudioEncoder_Prepare原音频编码模块变更为音频编解码模块OH_AudioCodec_Prepare
OH_AudioEncoder_Start原音频编码模块变更为音频编解码模块OH_AudioCodec_Start
OH_AudioEncoder_PushInputData原音频编码模块变更为音频编解码模块OH_AudioCodec_PushInputBuffer
OH_AudioEncoder_FreeOutputData原音频编码模块变更为音频编解码模块OH_AudioCodec_FreeOutputBuffer
OH_AudioEncoder_Flush原音频编码模块变更为音频编解码模块OH_AudioCodec_Flush
OH_AudioEncoder_IsValid原音频编码模块变更为音频编解码模块OH_AudioCodec_IsValid
OH_AudioEncoder_Reset原音频编码模块变更为音频编解码模块OH_AudioCodec_Reset
OH_AudioEncoder_Stop原音频编码模块变更为音频编解码模块OH_AudioCodec_Stop
OH_AudioEncoder_Destroy原音频编码模块变更为音频编解码模块OH_AudioCodec_Destroy

适配指导

变更前:

调用OH_AudioEncoder_CreateByName()或OH_AudioEncoder_CreateByMime,创建编码器。

调用OH_AudioEncoder_SetCallback(),设置回调函数。

调用OH_AudioEncoder_Configure(),配置编码器。

调用OH_AudioEncoder_Prepare(),编码器就绪。

调用OH_AudioEncoder_Start(),启动编码器,进入运行态。

调用OH_AudioEncoder_PushInputData(),写入待编码的数据。

调用OH_AudioEncoder_FreeOutputData(),输出编码格式码流。

(可选)调用OH_AudioEncoder_Flush(),刷新编码器。

(可选)调用OH_AudioEncoder_IsValid(),可以判断在执行过程中是否可以继续执行。

(可选)调用OH_AudioEncoder_Reset(),重置编码器。

调用OH_AudioEncoder_Stop(),停止编码器。

调用OH_AudioEncoder_Destroy() 销毁编码器实例,释放资源。

变更后:

调用OH_AudioCodec_CreateByName() 或 OH_AudioCodec_CreateByMime,创建编解码器。

调用OH_AudioCodec_SetCallback(),设置回调函数。

调用OH_AudioCodec_Configure(),配置编解码器。

调用OH_AudioCodec_Prepare(),编解码器就绪。

调用OH_AudioCodec_Start(),启动编解码器,进入运行态。

调用OH_AudioCodec_PushInputData(),写入待编解码的数据。

调用OH_AudioCodec_FreeOutputData(),输出编解码格式码流。

(可选)调用OH_AudioCodec_Flush(),刷新编解码器。

(可选)调用OH_AudioCodec_IsValid(),可以判断在执行过程中是否可以继续执行。

(可选)调用OH_AudioCodec_Reset(),重置编解码器。

调用OH_AudioCodec_Stop(),停止编解码器。

调用OH_AudioCodec_Destroy(),销毁编解码器实例,释放资源。

cl.multimedia.9 AVPlayer/AVRecorder支持的格式规格变更

访问级别

公开接口

变更原因

使用AVCodec进行解封装、编解码。

变更影响

不支持以下格式: 解封装格式:WebM 视频解码:H.263, MPEG2, MPEG4, VP8 视频编码:MPEG4

API Level

11

变更发生版本

从OpenHarmony SDK 4.1.6.3开始。

变更的接口/组件 AVPlayer组件,AVRecorder组件

适配指导

  1. 视频编码使用 AVC 代替MPEG4。
  2. 音视频播放资源涉及封装格式 WebM,或视频解码格式 H.263/MPEG2/MPEG4/VP8,会播放失败,尽量使用封装格式 MP4,视频解码格式 AVC 的资源代替。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙ArkUI子系统变更说明

harmony 鸿蒙图形子系统变更说明

harmony 鸿蒙包管理子系统变更说明

harmony 鸿蒙Camera子系统变更说明

harmony 鸿蒙输入法框架子系统ChangeLog

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/2q0fFW