已合并
【录制框架】AVRecorder补充NDK接口 #3217
【录制框架】AVRecorder补充NDK接口 #3217
已合并
刘祥创建于 3月16日
1 个文件变更+35-0
@@ -245,6 +245,41 @@ OH_AVErrCode OH_AVRecorder_SetUriCallback(OH_AVRecorder *recorder, OH_AVRecorder
245 */245 */
246OH_AVErrCode OH_AVRecorder_SetWillMuteWhenInterrupted(OH_AVRecorder *recorder, bool muteWhenInterrupted);246OH_AVErrCode OH_AVRecorder_SetWillMuteWhenInterrupted(OH_AVRecorder *recorder, bool muteWhenInterrupted);
247 247 
248+/**
249+ * @brief 获取当前音频最大振幅。
250+ *
251+ * 获取到的值为最近两次调用之间的最大振幅。例如,在1s时获取过一次最大振幅,
252+ * 然后在2s时再次调用该方法,那么返回值是1s到2s之间的最大振幅值。\n
253+ * 该方法只能在{@link OH_AVRecorder_Prepare}方法调用之后,且必须在{@link OH_AVRecorder_Stop}方法之前调用。
254+ * @param recorder 指向OH_AVRecorder实例的指针。
255+ * @param amplitude 获取到的音频最大振幅。
256+ * @return AV_ERR_OK:执行成功。\n
257+ * AV_ERR_INVALID_VAL:输入的参数recorder或amplitude为nullptr。\n
258+ * AV_ERR_INVALID_STATE:不支持在当前状态下调用,应当在OH_AVRecorder_Prepare之后和OH_AVRecorder_Stop之前调用此接口。\n
259+ * AV_ERR_NO_MEMORY:内存不足。\n
260+ * AV_ERR_UNKNOWN:未知错误。
261+ * @since 26.0.0
262+ */
263+OH_AVErrCode OH_AVRecorder_GetAudioCapturerMaxAmplitude(OH_AVRecorder *recorder, int32_t *amplitude);
264+ 
265+/**
266+ * @brief 设置录制的元数据信息。
267+ *
268+ * 如果metadata参数与config.metadata.customInfo(参考{@link OH_AVRecorder_Prepare}和{@link OH_AVRecorder_Config})中存在相同的键,
269+ * 前者的对应值将覆盖后者。\n
270+ * 该方法只能在OH_AVRecorder_Prepare方法调用之后,且必须在{@link OH_AVRecorder_Stop}方法之前调用。
271+ * @param recorder 指向OH_AVRecorder实例的指针。
272+ * @param metadata 设置的元数据信息。
273+ * 格式为字符串键值对,其中,键需要以"com.openharmony."开头,且值的长度不能超过256个字节。
274+ * @return AV_ERR_OK:执行成功。\n
275+ * AV_ERR_INVALID_VAL:输入的参数recorder或metadata为nullptr,或者metadata中的值长度超过256字节。\n
276+ * AV_ERR_INVALID_STATE:不支持在当前状态下调用,应当在OH_AVRecorder_Prepare之后和OH_AVRecorder_Stop之前调用此接口。\n
277+ * AV_ERR_NO_MEMORY:内存不足。\n
278+ * AV_ERR_UNKNOWN:未知错误。
279+ * @since 26.0.0
280+ */
281+OH_AVErrCode OH_AVRecorder_SetMetadata(OH_AVRecorder *recorder, OH_AVFormat *metadata);
282+ 
248#ifdef __cplusplus283#ifdef __cplusplus
249}284}
250#endif285#endif