1# multimedia子系统ChangeLog 2 3## cl.multimedia.1 音频C接口流类型枚举声明变更 4 5对于在API10中已经新增的音频C接口,音频输出流类型错写为AUDIOSTREAM_TYPE_RERNDERER,需要修正为AUDIOSTREAM_TYPE_RENDERER。 6 7**变更影响** 8 9对于已发布的C接口,可能影响三方应用的兼容性。 10 11**关键的接口/组件变更** 12 13修改前的接口原型: 14 15 ```C 16enum OH_AudioStream_Type { 17 /** 18 * The type for audio stream is renderer. 19 */ 20 AUDIOSTREAM_TYPE_RERNDERER = 1, 21 22 /** 23 * The type for audio stream is capturer. 24 */ 25 AUDIOSTREAM_TYPE_CAPTURER = 2 26}; 27 ``` 28 29修改后的接口原型: 30 31 ```C 32enum OH_AudioStream_Type { 33 /** 34 * The type for audio stream is renderer. 35 */ 36 AUDIOSTREAM_TYPE_RENDERER = 1, 37 38 /** 39 * The type for audio stream is capturer. 40 */ 41 AUDIOSTREAM_TYPE_CAPTURER = 2 42}; 43 ``` 44 45**适配指导** 46 47开发人员需要在使用音频输出流类型AUDIOSTREAM_TYPE_RERNDERER时,修改为AUDIOSTREAM_TYPE_RENDERER。例如: 48 49修改前 50 51```C 52OH_AudioStreamBuilder* builder; 53OH_AudioStreamBuilder_Create(&builder, AUDIOSTREAM_TYPE_RERNDERER); 54``` 55 56修改后 57 58```C 59OH_AudioStreamBuilder* builder; 60OH_AudioStreamBuilder_Create(&builder, AUDIOSTREAM_TYPE_RENDERER); 61``` 62 63## cl.multimedia.2 移除OH_AudioStream_Content 64 65对于在API10中已经新增的音频C接口,音频输出流属性中将删除掉OH_AudioStream_Content。 66 67**变更影响** 68 69对于已发布的C接口,可能影响三方应用的兼容性。 70 71**关键的接口/组件变更** 72 73- native_audiostream_base.h 文件 74 75修改前的接口原型: 76 77```C 78typedef enum { 79 AUDIOSTREAM_CONTENT_TYPE_UNKNOWN = 0, 80 AUDIOSTREAM_CONTENT_TYPE_SPEECH = 1, 81 AUDIOSTREAM_CONTENT_TYPE_MUSIC = 2, 82 AUDIOSTREAM_CONTENT_TYPE_MOVIE = 3, 83} OH_AudioStream_Content; 84``` 85修改后 86删除OH_AudioStream_Content枚举定义 87 88- native_audiostreambuilder.h 文件 89 90修改前 91 92```C 93OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererInfo(OH_AudioStreamBuilder* builder, 94 OH_AudioStream_Usage usage, OH_AudioStream_Content content); 95``` 96 97修改后 98```C 99OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererInfo(OH_AudioStreamBuilder* builder, 100 OH_AudioStream_Usage usage); 101``` 102 103- native_audiorenderer.h 文件 104 105修改前 106 107```C 108OH_AudioStream_Result OH_AudioRenderer_GetRendererInfo(OH_AudioRenderer* renderer, 109 OH_AudioStream_Usage* usage, OH_AudioStream_Content* content); 110``` 111 112修改后 113```C 114OH_AudioStream_Result OH_AudioRenderer_GetRendererInfo(OH_AudioRenderer* renderer, 115 OH_AudioStream_Usage* usage); 116``` 117 118**适配指导** 119 120对于OH_AudioStreamBuilder_SetRendererInfo接口,开发者按照所属场景,原本设置的OH_AudioStream_Content类型可对比下表,使用对应的OH_AudioStream_Usage类型。 121 122| OH_AudioStream_Content | OH_AudioStream_Usage | 123| ------------------------------- | ------------------------------------- | 124| AUDIOSTREAM_CONTENT_TYPE_SPEECH | AUDIOSTREAM_USAGE_VOICE_COMMUNICATION | 125| AUDIOSTREAM_CONTENT_TYPE_MUSIC | AUDIOSTREAM_USAGE_MUSIC | 126| AUDIOSTREAM_CONTENT_TYPE_MOVIE | AUDIOSTREAM_USAGE_MOVIE | 127 128对于OH_AudioRenderer_GetRendererInfo接口,开发者使用新的接口只能获取到OH_AudioStream_Usage属性,不能获取OH_AudioStream_Content属性。 129 130## cl.multimedia.3 OH_AudioStream_Usage变更 131 132API10的音频C接口native_audiostream_base.h 文件中,在OH_AudioStream_Usage枚举中删除了AUDIOSTREAM_USAGE_MEDIA枚举值,将AUDIOSTREAM_USAGE_COMMUNICATION枚举值变更为AUDIOSTREAM_USAGE_VOICE_COMMUNICATION和AUDIOSTREAM_USAGE_VOICE_ASSISTANT。 133 134**变更影响** 135 136对于已发布的C接口,可能影响三方应用的兼容性。如果开发者使用AUDIOSTREAM_USAGE_MEDIA和AUDIOSTREAM_USAGE_COMMUNICATION枚举值,会有兼容性问题。 137 138**关键的接口/组件变更** 139 140修改前 141 142```C 143typedef enum { 144 AUDIOSTREAM_USAGE_UNKNOWN = 0, 145 AUDIOSTREAM_USAGE_MEDIA = 1, 146 AUDIOSTREAM_USAGE_COMMUNICATION = 2, 147} OH_AudioStream_Usage; 148``` 149 150修改后 151```C 152typedef enum { 153 /** 154 * Unknown usage. 155 */ 156 AUDIOSTREAM_USAGE_UNKNOWN = 0, 157 /** 158 * Music usage. 159 */ 160 AUDIOSTREAM_USAGE_MUSIC = 1, 161 /** 162 * Voice communication usage. 163 */ 164 AUDIOSTREAM_USAGE_VOICE_COMMUNICATION = 2, 165 /** 166 * Voice assistant usage. 167 */ 168 AUDIOSTREAM_USAGE_VOICE_ASSISTANT = 3, 169 /** 170 * Movie or video usage. 171 */ 172 AUDIOSTREAM_USAGE_MOVIE = 10, 173 174} OH_AudioStream_Usage; 175``` 176 177**适配指导** 178 179用户通过OH_AudioStreamBuilder_SetRendererInfo接口不能再设置OH_AudioStream_Usage值为AUDIOSTREAM_USAGE_MEDIA,改为使用AUDIOSTREAM_USAGE_MUSIC或者AUDIOSTREAM_USAGE_MOVIE。 180 181修改前 182 183```C 184OH_AudioStreamBuilder_SetRendererInfo(builder, AUDIOSTREAM_USAGE_MEDIA); 185``` 186 187修改后 188 189```C 190OH_AudioStreamBuilder_SetRendererInfo(builder, AUDIOSTREAM_USAGE_MUSIC); // 音乐场景 191``` 192 193或者 194 195```C 196OH_AudioStreamBuilder_SetRendererInfo(builder, AUDIOSTREAM_USAGE_MOVIE); // 视频场景 197``` 198 199用户通过OH_AudioStreamBuilder_SetRendererInfo接口不能再设置OH_AudioStream_Usage值为AUDIOSTREAM_USAGE_COMMUNICATION,改为使用AUDIOSTREAM_USAGE_VOICE_COMMUNICATION或者AUDIOSTREAM_USAGE_VOICE_ASSISTANT。 200 201修改前 202 203```C 204OH_AudioStreamBuilder_SetRendererInfo(builder, AUDIOSTREAM_USAGE_COMMUNICATION); 205``` 206 207修改后 208 209```C 210OH_AudioStreamBuilder_SetRendererInfo(builder, AUDIOSTREAM_USAGE_VOICE_COMMUNICATION); // 通话场景 211``` 212 213或者 214 215```C 216OH_AudioStreamBuilder_SetRendererInfo(builder, AUDIOSTREAM_USAGE_VOICE_ASSISTANT); // 语音场景 217``` 218 219## cl.multimedia.4 OH_AudioStream_SampleFormat变更,删除AUDIOSTREAM_SAMPLE_F32LE 220 221API10的音频C接口native_audiostream_base.h 文件中,在OH_AudioStream_SampleFormat枚举中删除了AUDIOSTREAM_SAMPLE_F32LE枚举值。 222 223**变更影响** 224 225对于已发布的C接口,可能影响三方应用的兼容性。如果开发者使用AUDIOSTREAM_SAMPLE_F32LE会有兼容性问题。 226 227**关键的接口/组件变更** 228 229修改前 230 231```C 232typedef enum { 233 AUDIOSTREAM_SAMPLE_U8 = 0, 234 AUDIOSTREAM_SAMPLE_S16LE = 1, 235 AUDIOSTREAM_SAMPLE_S24LE = 2, 236 AUDIOSTREAM_SAMPLE_S32LE = 3, 237 AUDIOSTREAM_SAMPLE_F32LE = 4, 238} OH_AudioStream_SampleFormat; 239``` 240 241修改后 242```C 243typedef enum { 244 /** 245 * Unsigned 8 format. 246 */ 247 AUDIOSTREAM_SAMPLE_U8 = 0, 248 /** 249 * Signed 16 bit integer, little endian. 250 */ 251 AUDIOSTREAM_SAMPLE_S16LE = 1, 252 /** 253 * Signed 24 bit integer, little endian. 254 */ 255 AUDIOSTREAM_SAMPLE_S24LE = 2, 256 /** 257 * Signed 32 bit integer, little endian. 258 */ 259 AUDIOSTREAM_SAMPLE_S32LE = 3, 260} OH_AudioStream_SampleFormat; 261``` 262 263**适配指导** 264 265修改后用户不能再设置采样格式为AUDIOSTREAM_SAMPLE_F32LE枚举值。 266 267## cl.multimedia.5 OH_AudioStream_Result添加枚举值 268 269API10的音频C接口native_audiostream_base.h 文件中,在OH_AudioStream_Result枚举中给枚举值定义数值。 270 271**变更影响** 272 273无影响 274 275**关键的接口/组件变更** 276 277修改前 278 279```C 280typedef enum { 281 /** 282 * The call was successful. 283 */ 284 AUDIOSTREAM_SUCCESS, 285 286 /** 287 * This means that the function was executed with an invalid input parameter. 288 */ 289 AUDIOSTREAM_ERROR_INVALID_PARAM, 290 291 /** 292 * Execution status exception. 293 */ 294 AUDIOSTREAM_ERROR_ILLEGAL_STATE, 295 296 /** 297 * An system error has occurred. 298 */ 299 AUDIOSTREAM_ERROR_SYSTEM 300} OH_AudioStream_Result; 301``` 302 303修改后 304```C 305typedef enum { 306 /** 307 * The call was successful. 308 */ 309 AUDIOSTREAM_SUCCESS = 0, 310 311 /** 312 * This means that the function was executed with an invalid input parameter. 313 */ 314 AUDIOSTREAM_ERROR_INVALID_PARAM = 1, 315 316 /** 317 * Execution status exception. 318 */ 319 AUDIOSTREAM_ERROR_ILLEGAL_STATE = 2, 320 321 /** 322 * An system error has occurred. 323 */ 324 AUDIOSTREAM_ERROR_SYSTEM = 3 325} OH_AudioStream_Result; 326``` 327 328**适配指导** 329 330无兼容性影响,不涉及。 331