diff --git a/zh-cn/application-dev/reference/apis/Readme-CN.md b/zh-cn/application-dev/reference/apis/Readme-CN.md index 72d41180b4129f9aac76db12ae2e1e91114a8073..ef0f7adfd9051ac51c18f1356345ccfe51efc581 100755 --- a/zh-cn/application-dev/reference/apis/Readme-CN.md +++ b/zh-cn/application-dev/reference/apis/Readme-CN.md @@ -3,94 +3,139 @@ - [开发说明](development-intro.md) - Ability框架 - - - FA模型 - - [@ohos.ability.ability (Ability)](js-apis-ability-ability.md) - - [@ohos.ability.featureAbility (FeatureAbility模块)](js-apis-ability-featureAbility.md) - - [@ohos.ability.particleAbility (ParticleAbility模块)](js-apis-ability-particleAbility.md) - - ability/[dataAbilityHelper (DataAbilityHelper模块)](js-apis-inner-ability-dataAbilityHelper.md) - - app/[context (Context模块)](js-apis-inner-app-context.md) - - Stage模型 + - Stage模型能力的接口(推荐) - [@ohos.app.ability.Ability (Ability基类)](js-apis-app-ability-ability.md) - - [@ohos.app.ability.UIAbility (UIAbility)](js-apis-app-ability-uiAbility.md) - - [@ohos.app.ability.StartOptions (StartOptions)](js-apis-app-ability-startOptions.md) - [@ohos.app.ability.AbilityConstant (AbilityConstant)](js-apis-app-ability-abilityConstant.md) - - [@ohos.app.ability.AbilityStage (AbilityStage)](js-apis-app-ability-abilityStage.md) - [@ohos.app.ability.abilityLifecycleCallback (AbilityLifecycleCallback)](js-apis-app-ability-abilityLifecycleCallback.md) + - [@ohos.app.ability.AbilityStage (AbilityStage)](js-apis-app-ability-abilityStage.md) + - [@ohos.app.ability.common (应用上下文Context)](js-apis-app-ability-common.md) + - [@ohos.app.ability.contextConstant (ContextConstant)](js-apis-app-ability-contextConstant.md) - [@ohos.app.ability.EnvironmentCallback (EnvironmentCallback)](js-apis-app-ability-environmentCallback.md) - - [@ohos.app.ability.ExtensionAbility(扩展能力基类)](js-apis-app-ability-extensionAbility.md) + - [@ohos.app.ability.ExtensionAbility (扩展能力基类)](js-apis-app-ability-extensionAbility.md) - [@ohos.app.ability.ServiceExtensionAbility (ServiceExtensionAbility)](js-apis-app-ability-serviceExtensionAbility.md) - - [@ohos.app.form.FormExtensionAbility(FormExtensionAbility)](js-apis-app-form-formExtensionAbility.md) + - [@ohos.app.ability.StartOptions (StartOptions)](js-apis-app-ability-startOptions.md) + - [@ohos.app.ability.UIAbility (UIAbility)](js-apis-app-ability-uiAbility.md) + - [@ohos.app.form.FormExtensionAbility (FormExtensionAbility)](js-apis-app-form-formExtensionAbility.md) - [@ohos.application.DataShareExtensionAbility (数据共享扩展能力)](js-apis-application-dataShareExtensionAbility.md) - [@ohos.application.StaticSubscriberExtensionAbility (StaticSubscriberExtensionAbility)](js-apis-application-staticSubscriberExtensionAbility.md) - - [@ohos.application.WindowExtensionAbility (窗口扩展能力)](js-apis-application-windowExtensionAbility.md) - - [@ohos.app.ability.common(应用上下文Context)](js-apis-app-ability-common.md) - - application/[ApplicationContext (ApplicationContext)](js-apis-inner-application-applicationContext.md) - - application/[AbilityStageContext (AbilityStageContext)](js-apis-inner-application-abilityStageContext.md) - - application/[Context (Context)](js-apis-inner-application-context.md) - - application/[UIAbilityContext (UIAbilityContext)](js-apis-inner-application-uiAbilityContext.md) - - application/[ExtensionContext (ExtensionContext)](js-apis-inner-application-extensionContext.md) - - application/[FormExtensionContext (FormExtensionContext)](js-apis-inner-application-formExtensionContext.md) - - application/[ServiceExtensionContext (ServiceExtensionContext)](js-apis-inner-application-serviceExtensionContext.md) - - application/[PermissionRequestResult (PermissionRequestResult)](js-apis-inner-application-permissionRequestResult.md) - - - 通用 - - [@ohos.ability.dataUriUtils (DataUriUtils模块)](js-apis-ability-dataUriUtils.md) - - [@ohos.ability.errorCode (ErrorCode)](js-apis-ability-errorCode.md) - - [@ohos.app.ability.wantConstant (wantConstant)](js-apis-app-ability-wantConstant.md) - - [@ohos.ability.wantConstant (wantConstant)](js-apis-ability-wantConstant.md) - - [@ohos.app.ability.quickFixManager (quickFixManager)](js-apis-app-ability-quickFixManager.md) + - Stage模型能力的接口(待停用) + - [@ohos.application.Ability (Ability)](js-apis-application-ability.md) + - [@ohos.application.AbilityConstant (AbilityConstant)](js-apis-application-abilityConstant.md) + - [@ohos.application.AbilityLifecycleCallback (AbilityLifecycleCallback)](js-apis-application-abilityLifecycleCallback.md) + - [@ohos.application.AbilityStage (AbilityStage)](js-apis-application-abilityStage.md) + - [@ohos.application.context (Context)](js-apis-application-context.md) + - [@ohos.application.EnvironmentCallback (EnvironmentCallback)](js-apis-application-environmentCallback.md) + - [@ohos.application.ExtensionAbility (ExtensionAbility)](js-apis-application-extensionAbility.md) + - [@ohos.application.FormExtension (FormExtension)](js-apis-application-formExtension.md) + - [@ohos.application.ServiceExtensionAbility (ServiceExtensionAbility)](js-apis-application-serviceExtensionAbility.md) + - [@ohos.application.StartOptions (StartOptions)](js-apis-application-startOptions.md) + - FA模型能力的接口 + - [@ohos.ability.ability (Ability)](js-apis-ability-ability.md) + - [@ohos.ability.featureAbility (FeatureAbility模块)](js-apis-ability-featureAbility.md) + - [@ohos.ability.particleAbility (ParticleAbility模块)](js-apis-ability-particleAbility.md) + - 通用能力的接口(推荐) - [@ohos.app.ability.abilityDelegatorRegistry (AbilityDelegatorRegistry)](js-apis-app-ability-abilityDelegatorRegistry.md) - [@ohos.app.ability.abilityManager (AbilityManager)](js-apis-app-ability-abilityManager.md) + - [@ohos.app.ability.appManager (appManager)](js-apis-app-ability-appManager.md) - [@ohos.app.ability.appRecovery (appRecovery)](js-apis-app-ability-appRecovery.md) + - [@ohos.app.ability.Configuration (Configuration)](js-apis-app-ability-configuration.md) + - [@ohos.app.ability.ConfigurationConstant (ConfigurationConstant)](js-apis-app-ability-configurationConstant.md) + - [@ohos.app.ability.dataUriUtils (DataUriUtils模块)](js-apis-app-ability-dataUriUtils.md) + - [@ohos.app.ability.errorManager (ErrorManager)](js-apis-app-ability-errorManager.md) + - [@ohos.app.ability.missionManager (missionManager)](js-apis-app-ability-missionManager.md) + - [@ohos.app.ability.quickFixManager (quickFixManager)](js-apis-app-ability-quickFixManager.md) + - [@ohos.app.ability.Want (Want)](js-apis-app-ability-want.md) + - [@ohos.app.ability.wantAgent (WantAgent模块)](js-apis-app-ability-wantAgent.md) + - [@ohos.app.ability.wantConstant (wantConstant)](js-apis-app-ability-wantConstant.md) + - [@ohos.app.form.formBindingData (卡片数据绑定类)](js-apis-app-form-formBindingData.md) + - [@ohos.app.form.formHost (FormHost)](js-apis-app-form-formHost.md) + - [@ohos.app.form.formInfo (FormInfo)](js-apis-app-form-formInfo.md) + - [@ohos.app.form.formProvider (FormProvider)](js-apis-app-form-formProvider.md) + - 通用能力的接口(待停用) + - [@ohos.ability.dataUriUtils (DataUriUtils模块)](js-apis-ability-dataUriUtils.md) + - [@ohos.ability.errorCode (ErrorCode)](js-apis-ability-errorCode.md) + - [@ohos.ability.wantConstant (wantConstant)](js-apis-ability-wantConstant.md) - [@ohos.application.abilityDelegatorRegistry (AbilityDelegatorRegistry)](js-apis-application-abilityDelegatorRegistry.md) - [@ohos.application.abilityManager (AbilityManager)](js-apis-application-abilityManager.md) - - [@ohos.app.ability.appManager (appManager)](js-apis-app-ability-appManager.md) - [@ohos.application.appManager (appManager)](js-apis-application-appManager.md) - - [@ohos.app.ability.Configuration (Configuration)](js-apis-app-ability-configuration.md) - [@ohos.application.Configuration (Configuration)](js-apis-application-configuration.md) - - [@ohos.app.ability.ConfigurationConstant (ConfigurationConstant)](js-apis-app-ability-configurationConstant.md) - [@ohos.application.ConfigurationConstant (ConfigurationConstant)](js-apis-application-configurationConstant.md) - - [@ohos.app.ability.errorManager (ErrorManager)](js-apis-app-ability-errorManager.md) - [@ohos.application.errorManager (ErrorManager)](js-apis-application-errorManager.md) - [@ohos.application.formBindingData (卡片数据绑定类)](js-apis-application-formBindingData.md) - [@ohos.application.formError (FormError)](js-apis-application-formError.md) - [@ohos.application.formHost (FormHost)](js-apis-application-formHost.md) - [@ohos.application.formInfo (FormInfo)](js-apis-application-formInfo.md) - [@ohos.application.formProvider (FormProvider)](js-apis-application-formProvider.md) - - [@ohos.app.ability.missionManager (missionManager)](js-apis-app-ability-missionManager.md) - - [@oho.app.form.formBindingData (卡片数据绑定类)](js-apis-app-form-formBindingData.md) - - [@ohos.application.formError (FormError)](js-apis-application-formError.md) - - [@ohos.app.form.formHost (FormHost)](js-apis-app-form-formHost.md) - - [@ohos.app.form.formProvider (FormProvider)](js-apis-app-form-formProvider.md) - - [@ohos.app.form.formInfo (FormInfo)](js-apis-app-form-formInfo.md) - [@ohos.application.missionManager (missionManager)](js-apis-application-missionManager.md) - - [@ohos.app.ability.Want (Want)](js-apis-app-ability-want.md) - - [@ohos.application.Want (Want)](js-apis-app-ability-want.md) - - [@ohos.continuation.continuationManager (continuationManager)](js-apis-continuation-continuationManager.md) - - [@ohos.app.ability.wantAgent (WantAgent模块)](js-apis-app-ability-wantAgent.md) + - [@ohos.application.Want (Want)](js-apis-application-want.md) - [@ohos.wantAgent (WantAgent模块)](js-apis-wantAgent.md) - - ability/[abilityResult (AbilityResult)](js-apis-inner-ability-abilityResult.md) - - ability/[Want (Want)](js-apis-application-want.md) - - application/[abilityDelegator (AbilityDelegator)](js-apis-inner-application-abilityDelegator.md) - - application/[abilityDelegatorArgs (AbilityDelegatorArgs)](js-apis-inner-application-abilityDelegatorArgs.md) - - application/[abilityMonitor (AbilityMonitor)](js-apis-application-abilityMonitor.md) - - application/[AbilityRunningInfo (AbilityRunningInfo)](js-apis-inner-application-abilityRunningInfo.md) - - application/[ExtensionRunningInfo (ExtensionRunningInfo)](js-apis-inner-application-extensionRunningInfo.md) - - application/[MissionSnapshot (MissionSnapshot)](js-apis-inner-application-missionSnapshot.md) - - application/[ProcessRunningInformation (ProcessRunningInformation)](js-apis-inner-application-processRunningInformation.md) - - application/[shellCmdResult (ShellCmdResult)](js-apis-inner-application-shellCmdResult.md) - - continuation/[continuationExtraParams (ContinuationExtraParams)](js-apis-continuation-continuationExtraParams.md) - - continuation/[continuationResult (ContinuationResult)](js-apis-continuation-continuationResult.md) - + - 接口依赖的元素及定义 + - ability + - [abilityResult](js-apis-inner-ability-abilityResult.md) + - [connectOptions](js-apis-inner-ability-connectOptions.md) + - [dataAbilityHelper](js-apis-inner-ability-dataAbilityHelper.md) + - [dataAbilityOperation](js-apis-inner-ability-dataAbilityOperation.md) + - [dataAbilityResult](js-apis-inner-ability-dataAbilityResult.md) + - [startAbilityParameter](js-apis-inner-ability-startAbilityParameter.md) + - [want](js-apis-inner-ability-want.md) + - app + - [appVersionInfo](js-apis-inner-app-appVersionInfo.md) + - [context](js-apis-inner-app-context.md) + - [processInfo](js-apis-inner-app-processInfo.md) + - application + - [AbilityContext](js-apis-ability-context.md) + - [abilityDelegator](js-apis-inner-application-abilityDelegator.md) + - [abilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md) + - [abilityMonitor](js-apis-inner-application-abilityMonitor.md) + - [AbilityRunningInfo](js-apis-inner-application-abilityRunningInfo.md) + - [AbilityStageContext](js-apis-inner-application-abilityStageContext.md) + - [AbilityStateData](js-apis-inner-application-abilityStateData.md) + - [abilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) + - [ApplicationContext](js-apis-inner-application-applicationContext.md) + - [ApplicationStateObserver](js-apis-inner-application-applicationStateObserver.md) + - [AppStateData](js-apis-inner-application-appStateData.md) + - [BaseContext](js-apis-inner-application-baseContext.md) + - [Context](js-apis-inner-application-context.md) + - [ContinueCallback](js-apis-inner-application-continueCallback.md) + - [ContinueDeviceInfo](js-apis-inner-application-continueDeviceInfo.md) + - [ErrorObserver](js-apis-inner-application-errorObserver.md) + - [ExtensionContext](js-apis-inner-application-extensionContext.md) + - [ExtensionRunningInfo](js-apis-inner-application-extensionRunningInfo.md) + - [FormExtensionContext](js-apis-inner-application-formExtensionContext.md) + - [MissionCallbacks](js-apis-inner-application-missionCallbacks.md) + - [MissionDeviceInfo](js-apis-inner-application-missionDeviceInfo.md) + - [MissionInfo](js-apis-inner-application-missionInfo.md) + - [MissionListener](js-apis-inner-application-missionListener.md) + - [MissionParameter](js-apis-inner-application-missionParameter.md) + - [MissionSnapshot](js-apis-inner-application-missionSnapshot.md) + - [PermissionRequestResult](js-apis-inner-application-permissionRequestResult.md) + - [ProcessData](js-apis-inner-application-processData.md) + - [ProcessRunningInfo](js-apis-inner-application-processRunningInfo.md) + - [ProcessRunningInformation](js-apis-inner-application-processRunningInformation.md) + - [ServiceExtensionContext](js-apis-inner-application-serviceExtensionContext.md) + - [UIAbilityContext](js-apis-inner-application-uiAbilityContext.md) + - [shellCmdResult](js-apis-inner-application-shellCmdResult.md) + - wantAgent + - [triggerInfo](js-apis-inner-wantAgent-triggerInfo.md) + - [wantAgentInfo](js-apis-inner-wantAgent-wantAgentInfo.md) + - 流转 + - [@ohos.continuation.continuationManager (continuationManager)](js-apis-continuation-continuationManager.md) + - continuation + - [continuationExtraParams](js-apis-continuation-continuationExtraParams.md) + - [continuationResult](js-apis-continuation-continuationResult.md) + - 公共事件与通知 - - [@ohos.commonEventManager (公共事件模块)](js-apis-commonEventManager.md) + - [@ohos.commonEventManager (公共事件模块)(推荐)](js-apis-commonEventManager.md) - [@ohos.events.emitter (Emitter)](js-apis-emitter.md) - - [@ohos.notification (Notification模块)](js-apis-notification.md) - - application/[EventHub (EventHub)](js-apis-inner-application-eventHub.md) + - [@ohos.notificationManager (NotificationManager模块)(推荐)](js-apis-notificationManager.md) + - [@ohos.notificationSubscribe (NotificationSubscribe模块)(推荐)](js-apis-notificationSubscribe.md) + - [@ohos.commonEvent (公共事件模块)(待停用)](js-apis-commonEvent.md) + - [@ohos.notification (Notification模块)(待停用)](js-apis-notification.md) + - application + - [EventHub](js-apis-inner-application-eventHub.md) - 包管理 - - [@ohos.bundle.appControl(appControl模块)](js-apis-appControl.md) + - [@ohos.bundle.appControl (appControl模块)](js-apis-appControl.md) - [@ohos.bundle.bundleManager (bundleManager模块)](js-apis-bundleManager.md) - [@ohos.bundle.bundleMonitor (bundleMonitor模块)](js-apis-bundleMonitor.md) - [@ohos.bundle.defaultAppManager (默认应用管理)](js-apis-defaultAppManager.md) @@ -99,19 +144,20 @@ - [@ohos.bundle.installer (installer模块)](js-apis-installer.md) - [@ohos.bundle.launcherBundleManager (launcherBundleManager模块)](js-apis-launcherBundleManager.md) - [@ohos.zlib (Zip模块)](js-apis-zlib.md) - - bundleManager/[abilityInfo (AbilityInfo)](js-apis-bundleManager-abilityInfo.md) - - bundleManager/[applicationInfo (ApplicationInfo)](js-apis-bundleManager-applicationInfo.md) - - bundleManager/[bundleInfo (BundleInfo)](js-apis-bundleManager-bundleInfo.md) - - bundleManager/[dispatchInfo (DispatchInfo)](js-apis-bundleManager-dispatchInfo.md) - - bundleManager/[elementName (ElementName)](js-apis-bundleManager-elementName.md) - - bundleManager/[extensionAbilityInfo (ExtensionAbilityInfo)](js-apis-bundleManager-extensionAbilityInfo.md) - - bundleManager/[hapModuleInfo (HapModuleInfo)](js-apis-bundleManager-hapModuleInfo.md) - - bundleManager/[launcherAbilityInfo (LauncherAbilityInfo)](js-apis-bundleManager-launcherAbilityInfo.md) - - bundleManager/[metadata (Metadata)](js-apis-bundleManager-metadata.md) - - bundleManager/[packInfo (PackInfo)](js-apis-bundleManager-packInfo.md) - - bundleManager/[permissionDef (PermissionDef)](js-apis-bundleManager-permissionDef.md) - - bundleManager/[remoteAbilityInfo (RemoteAbilityInfo)](js-apis-bundleManager-remoteAbilityInfo.md) - - bundleManager/[shortcutInfo (ShortcutInfo)](js-apis-bundleManager-shortcutInfo.md) + - bundleManager + - [abilityInfo](js-apis-bundleManager-abilityInfo.md) + - [applicationInfo](js-apis-bundleManager-applicationInfo.md) + - [bundleInfo](js-apis-bundleManager-bundleInfo.md) + - [dispatchInfo](js-apis-bundleManager-dispatchInfo.md) + - [elementName](js-apis-bundleManager-elementName.md) + - [extensionAbilityInfo](js-apis-bundleManager-extensionAbilityInfo.md) + - [hapModuleInfo](js-apis-bundleManager-hapModuleInfo.md) + - [launcherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md) + - [metadata](js-apis-bundleManager-metadata.md) + - [packInfo](js-apis-bundleManager-packInfo.md) + - [permissionDef](js-apis-bundleManager-permissionDef.md) + - [remoteAbilityInfo](js-apis-bundleManager-remoteAbilityInfo.md) + - [shortcutInfo](js-apis-bundleManager-shortcutInfo.md) - UI界面 - [@ohos.animator (动画)](js-apis-animator.md) @@ -123,14 +169,16 @@ - 图形图像 - [@ohos.animation.windowAnimationManager (窗口动画管理)](js-apis-windowAnimationManager.md) + - [@ohos.application.WindowExtensionAbility (窗口扩展能力)](js-apis-application-windowExtensionAbility.md) - [@ohos.display (屏幕属性)](js-apis-display.md) - [@ohos.effectKit (图像效果)](js-apis-effectKit.md) - - [@ohos.graphics.colorSpaceManager(色彩管理)](js-apis-colorSpaceManager.md) + - [@ohos.graphics.colorSpaceManager (色彩管理)](js-apis-colorSpaceManager.md) - [@ohos.screen (屏幕)](js-apis-screen.md) - [@ohos.screenshot (屏幕截图)](js-apis-screenshot.md) - [@ohos.window (窗口)](js-apis-window.md) - - [webgl (WebGL)](js-apis-webgl.md) - - [webgl2 (WebGL2)](js-apis-webgl2.md) + - webgl + - [webgl (WebGL)](js-apis-webgl.md) + - [webgl2 (WebGL2)](js-apis-webgl2.md) - 媒体 - [@ohos.multimedia.audio (音频管理)](js-apis-audio.md) @@ -171,7 +219,8 @@ - [@ohos.data.preferences (首选项)](js-apis-data-preferences.md) - [@ohos.data.rdb (关系型数据库)](js-apis-data-rdb.md) - [@ohos.data.ValuesBucket (数据集)](js-apis-data-valuesBucket.md) - - data/rdb/[resultSet (结果集)](js-apis-data-resultset.md) + - data/rdb + - [resultSet (结果集)](js-apis-data-resultset.md) - 文件管理 - [@ohos.environment (目录环境能力)](js-apis-environment.md) @@ -210,10 +259,13 @@ - [@ohos.nfc.controller (标准NFC)](js-apis-nfcController.md) - [@ohos.nfc.tag (标准NFC-Tag)](js-apis-nfcTag.md) - [@ohos.rpc (RPC通信)](js-apis-rpc.md) - - [@ohos.wifi (WLAN)](js-apis-wifi.md) - - [@ohos.wifiext (WLAN扩展接口)](js-apis-wifiext.md) - - tag/[nfctech (标准NFC-Tag Nfc 技术)](js-apis-nfctech.md) - - tag/[tagSession (标准NFC-Tag TagSession)](js-apis-tagSession.md) + - [@ohos.wifiManager (WLAN)(推荐)](js-apis-wifiManager.md) + - [@ohos.wifiManagerExt (WLAN扩展接口)(推荐)](js-apis-wifiManagerExt.md) + - [@ohos.wifi (WLAN)(待停用)](js-apis-wifi.md) + - [@ohos.wifiext (WLAN扩展接口)(待停用)](js-apis-wifiext.md) + - tag + - [nfctech (标准NFC-Tag Nfc 技术)](js-apis-nfctech.md) + - [tagSession (标准NFC-Tag TagSession)](js-apis-tagSession.md) - 系统基础能力 - [@ohos.accessibility (辅助功能)](js-apis-accessibility.md) @@ -233,16 +285,17 @@ - [@ohos.inputmethodengine (输入法服务)](js-apis-inputmethodengine.md) - [@ohos.inputmethodextensionability (InputMethodExtensionAbility)](js-apis-inputmethod-extension-ability.md) - [@ohos.inputmethodextensioncontext (InputMethodExtensionContext)](js-apis-inputmethod-extension-context.md) - - [@ohos.inputmethodsubtype(输入法子类型)](js-apis-inputmethod-subtype.md) + - [@ohos.inputmethodsubtype (输入法子类型)](js-apis-inputmethod-subtype.md) - [@ohos.pasteboard (剪贴板)](js-apis-pasteboard.md) - [@ohos.screenLock (锁屏管理)](js-apis-screen-lock.md) - [@ohos.systemTime (系统时间、时区)](js-apis-system-time.md) - - [@ohos.systemTimer(系统定时器)](js-apis-system-timer.md) + - [@ohos.systemTimer (系统定时器)](js-apis-system-timer.md) - [@ohos.wallpaper (壁纸)](js-apis-wallpaper.md) - - [@ohos.web.webview(Web)](js-apis-webview.md) + - [@ohos.web.webview (Webview)](js-apis-webview.md) - [console (日志打印)](js-apis-logs.md) - [Timer (定时器)](js-apis-timer.md) - - application/[AccessibilityExtensionContext (辅助功能扩展上下文)](js-apis-inner-application-accessibilityExtensionContext.md) + - application + - [AccessibilityExtensionContext (辅助功能扩展上下文)](js-apis-inner-application-accessibilityExtensionContext.md) - 设备管理 - [@ohos.batteryInfo (电量信息)](js-apis-battery-info.md) @@ -281,9 +334,10 @@ - 定制管理 - [@ohos.configPolicy (配置策略)](js-apis-configPolicy.md) + - [@ohos.enterprise.deviceInfo (设备信息管理)](js-apis-enterprise-deviceInfo.md) - [@ohos.enterprise.EnterpriseAdminExtensionAbility (EnterpriseAdminExtensionAbility)](js-apis-EnterpriseAdminExtensionAbility.md) - [@ohos.enterprise.adminManager (企业设备管理)](js-apis-enterprise-adminManager.md) - - [@ohos.enterprise.dateTimeManager(系统时间管理)](js-apis-enterprise-dateTimeManager.md) + - [@ohos.enterprise.dateTimeManager (系统时间管理)](js-apis-enterprise-dateTimeManager.md) - 语言基础类库 - [@ohos.buffer (Buffer)](js-apis-buffer.md) @@ -314,17 +368,11 @@ - [@ohos.uitest (UiTest)](js-apis-uitest.md) - 已停止维护的接口 - - [@ohos.application.FormExtension (FormExtension)](js-apis-app-form-formExtensionAbility.md) - - [@ohos.application.formHost (FormHost)](js-apis-application-formHost.md) - - [@ohos.application.formProvider (FormProvider)](js-apis-application-formProvider.md) - - [@ohos.application.formInfo (FormInfo)](js-apis-application-formInfo.md) - - [@ohos.application.formBindingData (卡片数据绑定类)](js-apis-application-formBindingData.md) - [@ohos.backgroundTaskManager (后台任务管理)](js-apis-backgroundTaskManager.md) - [@ohos.bundle (Bundle模块)](js-apis-Bundle.md) - [@ohos.bundle.innerBundleManager (innerBundleManager模块)](js-apis-Bundle-InnerBundleManager.md) - [@ohos.bundleState (设备使用信息统计)](js-apis-deviceUsageStatistics.md) - [@ohos.bytrace (性能打点)](js-apis-bytrace.md) - - [@ohos.commonEvent (公共事件模块)](js-apis-commonEvent.md) - [@ohos.data.storage (轻量级存储)](js-apis-data-storage.md) - [@ohos.data.distributedData (分布式数据管理)](js-apis-distributed-data.md) - [@ohos.distributedBundle (分布式包管理)](js-apis-Bundle-distributedBundle.md) @@ -355,17 +403,17 @@ - [@system.sensor (传感器)](js-apis-system-sensor.md) - [@system.storage (数据存储)](js-apis-system-storage.md) - [@system.vibrator (振动)](js-apis-system-vibrate.md) - - application/[ProcessRunningInfo (ProcessRunningInfo)](js-apis-inner-application-processRunningInfo.md) - - bundle/[abilityInfo (AbilityInfo)](js-apis-bundle-AbilityInfo.md) - - bundle/[applicationInfo (ApplicationInfo)](js-apis-bundle-ApplicationInfo.md) - - bundle/[bundleInfo (BundleInfo)](js-apis-bundle-BundleInfo.md) - - bundle/[bundleInstaller (BundleInstaller)](js-apis-bundle-BundleInstaller.md) - - bundle/[bundleStatusCallback (BundleStatusCallback)](js-apis-Bundle-BundleStatusCallback.md) - - bundle/[customizeData (CustomizeData)](js-apis-bundle-CustomizeData.md) - - bundle/[elementName (ElementName)](js-apis-bundle-ElementName.md) - - bundle/[hapModuleInfo (HapModuleInfo)](js-apis-bundle-HapModuleInfo.md) - - bundle/[launcherAbilityInfo (LauncherAbilityInfo)](js-apis-bundle-LauncherAbilityInfo.md) - - bundle/[moduleInfo (ModuleInfo)](js-apis-bundle-ModuleInfo.md) - - bundle/[PermissionDef (PermissionDef)](js-apis-bundle-PermissionDef.md) - - bundle/[remoteAbilityInfo (RemoteAbilityInfo)](js-apis-bundle-remoteAbilityInfo.md) - - bundle/[shortcutInfo (shortcutInfo)](js-apis-bundle-ShortcutInfo.md) + - bundle + - [abilityInfo](js-apis-bundle-AbilityInfo.md) + - [applicationInfo](js-apis-bundle-ApplicationInfo.md) + - [bundleInfo](js-apis-bundle-BundleInfo.md) + - [bundleInstaller](js-apis-bundle-BundleInstaller.md) + - [bundleStatusCallback](js-apis-Bundle-BundleStatusCallback.md) + - [customizeData](js-apis-bundle-CustomizeData.md) + - [elementName](js-apis-bundle-ElementName.md) + - [hapModuleInfo](js-apis-bundle-HapModuleInfo.md) + - [launcherAbilityInfo](js-apis-bundle-LauncherAbilityInfo.md) + - [moduleInfo](js-apis-bundle-ModuleInfo.md) + - [PermissionDef](js-apis-bundle-PermissionDef.md) + - [remoteAbilityInfo](js-apis-bundle-remoteAbilityInfo.md) + - [shortcutInfo](js-apis-bundle-ShortcutInfo.md) diff --git a/zh-cn/application-dev/reference/native-apis/Readme-CN.md b/zh-cn/application-dev/reference/native-apis/Readme-CN.md index 54138c3cb2fb3c394ba3693d4498a98e4e15876d..54bf703ba8b775366036a719e5e4d83207b2ce71 100644 --- a/zh-cn/application-dev/reference/native-apis/Readme-CN.md +++ b/zh-cn/application-dev/reference/native-apis/Readme-CN.md @@ -12,6 +12,13 @@ - [Rawfile](rawfile.md) - [MindSpore](_mind_spore.md) - [NeuralNeworkRuntime](_neural_nework_runtime.md) + - [Avsession](avsession.md) + - [AudioDecoder](_audio_decoder.md) + - [AudioEncoder](_audio_encoder.md) + - [CodecBase](_codec_base.md) + - [VideoDecoder](_video_decoder.md) + - [VideoEncoder](_video_encoder.md) + - [Core](_core.md) - 头文件 - [drawing_bitmap.h](drawing__bitmap_8h.md) - [drawing_brush.h](drawing__brush_8h.md) @@ -42,6 +49,24 @@ - [types.h](types_8h.md) - [neural_network_runtime_type.h](neural__network__runtime__type_8h.md) - [neural_network_runtime.h](neural__network__runtime_8h.md) + - [av_session.h](av__session_8h.md) + - [avcontrol_command.h](avcontrol__command_8h.md) + - [avmeta_data.h](avmeta__data_8h.md) + - [avplayback_state.h](avplayback__state_8h.md) + - [avsession_controller.h](avsession__controller_8h.md) + - [avsession_descriptor.h](avsession__descriptor_8h.md) + - [avsession_errors.h](avsession__errors_8h.md) + - [avsession_info.h](avsession__info_8h.md) + - [avsession_manager.h](avsession__manager_8h.md) + - [avsession_pixel_map.h](avsession__pixel__map_8h.md) + - [native_avcodec_audiodecoder.h](native__avcodec__audiodecoder_8h.md) + - [native_avcodec_audioencoder.h](native__avcodec__audioencoder_8h.md) + - [native_avcodec_base.h](native__avcodec__base_8h.md) + - [native_avcodec_videodecoder.h](native__avcodec__videodecoder_8h.md) + - [native_avcodec_videoencoder.h](native__avcodec__videoencoder_8h.md) + - [native_averrors.h](native__averrors_8h.md) + - [native_avformat.h](native__avformat_8h.md) + - [native_avmemory.h](native__avmemory_8h.md) - 结构体 - [OH_Drawing_BitmapFormat](_o_h___drawing___bitmap_format.md) - [OH_NativeBuffer_Config](_o_h___native_buffer___config.md) @@ -62,4 +87,21 @@ - [OH_NN_Memory](_o_h___n_n___memory.md) - [OH_NN_QuantParam](_o_h___n_n___quant_param.md) - [OH_NN_Tensor](_o_h___n_n___tensor.md) - - [OH_NN_UInt32Array](_o_h___n_n___u_int32_array.md) \ No newline at end of file + - [OH_NN_UInt32Array](_o_h___n_n___u_int32_array.md) + - [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) + - [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) + - [OHOS::AVSession::AVControlCommand](_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md) + - [OHOS::AVSession::AVControllerCallback](_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md) + - [OHOS::AVSession::AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md) + - [OHOS::AVSession::AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md) + - [OHOS::AVSession::AVPlaybackState::Position](_1_a_v_session_1_1_a_v_playback_state_1_1_position.md) + - [OHOS::AVSession::AVSession](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md) + - [OHOS::AVSession::AVSessionBasicInfo](o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md) + - [OHOS::AVSession::AVSessionCallback](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md) + - [OHOS::AVSession::AVSessionController](o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md) + - [OHOS::AVSession::AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) + - [OHOS::AVSession::AVSessionManager](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md) + - [OHOS::AVSession::AVSessionPixelMap](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md) + - [OHOS::AVSession::OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md) + - [OHOS::AVSession::SessionListener](_o_h_o_s_1_1_a_v_session_1_1_session_listener.md) + - [OHOS::AVSession::SessionToken](_o_h_o_s_1_1_a_v_session_1_1_session_token.md) \ No newline at end of file diff --git a/zh-cn/application-dev/reference/native-apis/_1_a_v_session_1_1_a_v_playback_state_1_1_position.md b/zh-cn/application-dev/reference/native-apis/_1_a_v_session_1_1_a_v_playback_state_1_1_position.md new file mode 100644 index 0000000000000000000000000000000000000000..ab87d4886fa45ee895144dae8d7da540ace76590 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_1_a_v_session_1_1_a_v_playback_state_1_1_position.md @@ -0,0 +1,44 @@ +# OHOS::AVSession::AVPlaybackState::Position + + +## 概述 + +播放位置的相关信息。 + +**Since:** +9 +**Version:** +1.0 + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [elapsedTime_](#elapsedtime) {} | int64_t
媒体已经播放的时间点,第x ms,单位为ms  | +| [updateTime_](#updatetime) {} | int64_t
更新的时间戳,单位为ms  | + + +## 结构体成员变量说明 + + +### elapsedTime_ + + +``` +int64_t OHOS::AVSession::AVPlaybackState::Position::elapsedTime_ {} +``` +**描述:** +媒体已经播放的时间点,第x ms,单位为ms + + +### updateTime_ + + +``` +int64_t OHOS::AVSession::AVPlaybackState::Position::updateTime_ {} +``` +**描述:** +更新的时间戳,单位为ms diff --git a/zh-cn/application-dev/reference/native-apis/_audio_decoder.md b/zh-cn/application-dev/reference/native-apis/_audio_decoder.md new file mode 100644 index 0000000000000000000000000000000000000000..bc160c71ac1a6bb8bd68731801cd47b55d8b8351 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_audio_decoder.md @@ -0,0 +1,382 @@ +# AudioDecoder + + +## 概述 + +AudioDecoder模块提供用于音频解码功能的函数。 + +@syscap SystemCapability.Multimedia.Media.AudioDecoder + +**Since:** +9 +**Version:** +1.0 + +## 汇总 + + +### 文件 + + | 名称 | 描述 | +| -------- | -------- | +| [native_avcodec_audiodecoder.h](native__avcodec__audiodecoder_8h.md) | 声明用于音频解码的Native API。 | + + +### 函数 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AudioDecoder_CreateByMime](#oh_audiodecoder_createbymime) (const char \*mime) | OH_AVCodec \*
通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。 | +| [OH_AudioDecoder_CreateByName](#oh_audiodecoder_createbyname) (const char \*name) | OH_AVCodec \*
通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 | +| [OH_AudioDecoder_Destroy](#oh_audiodecoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空解码器内部资源,并销毁解码器实例 | +| [OH_AudioDecoder_SetCallback](#oh_audiodecoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#oh_averrcode)
设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 | +| [OH_AudioDecoder_Configure](#oh_audiodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 | +| [OH_AudioDecoder_Prepare](#oh_audiodecoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
准备解码器内部资源,调用该接口前必须先调用Configure接口。 | +| [OH_AudioDecoder_Start](#oh_audiodecoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | +| [OH_AudioDecoder_Stop](#oh_audiodecoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 | +| [OH_AudioDecoder_Flush](#oh_audiodecoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | +| [OH_AudioDecoder_Reset](#oh_audiodecoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 | +| [OH_AudioDecoder_GetOutputDescription](#oh_audiodecoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*
获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 | +| [OH_AudioDecoder_SetParameter](#oh_audiodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 | +| [OH_AudioDecoder_PushInputData](#oh_audiodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | [OH_AVErrCode](_core.md#oh_averrcode)
将填充好数据的输入Buffer提交给音频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程。 | +| [OH_AudioDecoder_FreeOutputData](#oh_audiodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)
将处理结束的输出Buffer交还给解码器。 | + + +## 函数说明 + + +### OH_AudioDecoder_Configure() + + +``` +OH_AVErrCode OH_AudioDecoder_Configure (OH_AVCodec * codec, OH_AVFormat * format ) +``` +**描述:** +配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 + +@syscap SystemCapability.Multimedia.Media.AudioDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| format | 指向OH_AVFormat的指针,用以给出待解码音频轨道的描述信息 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioDecoder_CreateByMime() + + +``` +OH_AVCodec* OH_AudioDecoder_CreateByMime (const char * mime) +``` +**描述:** +通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。 + +@syscap SystemCapability.Multimedia.Media.AudioDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_AUDIO_AAC](_codec_base.md#oh_avcodec_mimetype_audio_aac) | + +**返回:** + +返回一个指向OH_AVCodec实例的指针 + + +### OH_AudioDecoder_CreateByName() + + +``` +OH_AVCodec* OH_AudioDecoder_CreateByName (const char * name) +``` +**描述:** +通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 + +@syscap SystemCapability.Multimedia.Media.AudioDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| name | 音频解码器名称 | + +**返回:** + +返回一个指向OH_AVCodec实例的指针 + + +### OH_AudioDecoder_Destroy() + + +``` +OH_AVErrCode OH_AudioDecoder_Destroy (OH_AVCodec * codec) +``` +**描述:** +清空解码器内部资源,并销毁解码器实例 + +@syscap SystemCapability.Multimedia.Media.AudioDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioDecoder_Flush() + + +``` +OH_AVErrCode OH_AudioDecoder_Flush (OH_AVCodec * codec) +``` +**描述:** +清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 + +@syscap SystemCapability.Multimedia.Media.AudioDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioDecoder_FreeOutputData() + + +``` +OH_AVErrCode OH_AudioDecoder_FreeOutputData (OH_AVCodec * codec, uint32_t index ) +``` +**描述:** +将处理结束的输出Buffer交还给解码器。 + +@syscap SystemCapability.Multimedia.Media.AudioDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| index | 输出Buffer对应的索引值 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioDecoder_GetOutputDescription() + + +``` +OH_AVFormat* OH_AudioDecoder_GetOutputDescription (OH_AVCodec * codec) +``` +**描述:** +获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 + +@syscap SystemCapability.Multimedia.Media.AudioDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +返回OH_AVFormat句柄指针,需调用者手动释放; + + +### OH_AudioDecoder_Prepare() + + +``` +OH_AVErrCode OH_AudioDecoder_Prepare (OH_AVCodec * codec) +``` +**描述:** +准备解码器内部资源,调用该接口前必须先调用Configure接口。 + +@syscap SystemCapability.Multimedia.Media.AudioDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioDecoder_PushInputData() + + +``` +OH_AVErrCode OH_AudioDecoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr ) +``` +**描述:** +将填充好数据的输入Buffer提交给音频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程。 + +@syscap SystemCapability.Multimedia.Media.AudioDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| index | 输入Buffer对应的索引值 | +| attr | 描述该Buffer内所包含数据的信息 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioDecoder_Reset() + + +``` +OH_AVErrCode OH_AudioDecoder_Reset (OH_AVCodec * codec) +``` +**描述:** +重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 + +@syscap SystemCapability.Multimedia.Media.AudioDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioDecoder_SetCallback() + + +``` +OH_AVErrCode OH_AudioDecoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCallback callback, void * userData ) +``` +**描述:** +设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 + +@syscap SystemCapability.Multimedia.Media.AudioDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| callback | 一个包含所有回调函数的集合体,参考[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | +| userData | 用户特定数据 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioDecoder_SetParameter() + + +``` +OH_AVErrCode OH_AudioDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * format ) +``` +**描述:** +向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 + +@syscap SystemCapability.Multimedia.Media.AudioDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| format | OH_AVFormat句柄指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioDecoder_Start() + + +``` +OH_AVErrCode OH_AudioDecoder_Start (OH_AVCodec * codec) +``` +**描述:** +启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 + +@syscap SystemCapability.Multimedia.Media.AudioDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioDecoder_Stop() + + +``` +OH_AVErrCode OH_AudioDecoder_Stop (OH_AVCodec * codec) +``` +**描述:** +停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 + +@syscap SystemCapability.Multimedia.Media.AudioDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) diff --git a/zh-cn/application-dev/reference/native-apis/_audio_encoder.md b/zh-cn/application-dev/reference/native-apis/_audio_encoder.md new file mode 100644 index 0000000000000000000000000000000000000000..a3edbb7794850ffc8b0136787d4caeda2bab7135 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_audio_encoder.md @@ -0,0 +1,382 @@ +# AudioEncoder + + +## 概述 + +AudioEncoder模块提供用于音频编码功能的函数。 + +@syscap SystemCapability.Multimedia.Media.AudioEncoder + +**Since:** +9 +**Version:** +1.0 + +## 汇总 + + +### 文件 + + | 名称 | 描述 | +| -------- | -------- | +| [native_avcodec_audioencoder.h](native__avcodec__audioencoder_8h.md) | 声明用于音频编码的Native API。 | + + +### 函数 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AudioEncoder_CreateByMime](#oh_audioencoder_createbymime) (const char \*mime) | OH_AVCodec \*
通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。 | +| [OH_AudioEncoder_CreateByName](#oh_audioencoder_createbyname) (const char \*name) | OH_AVCodec \*
通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 | +| [OH_AudioEncoder_Destroy](#oh_audioencoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空编码器内部资源,并销毁编码器实例。 | +| [OH_AudioEncoder_SetCallback](#oh_audioencoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#oh_averrcode)
设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 | +| [OH_AudioEncoder_Configure](#oh_audioencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 | +| [OH_AudioEncoder_Prepare](#oh_audioencoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
准备编码器内部资源,调用该接口前必须先调用Configure接口。 | +| [OH_AudioEncoder_Start](#oh_audioencoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | +| [OH_AudioEncoder_Stop](#oh_audioencoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
停止编码器。在停止后可通过Start重新进入Started状态。 | +| [OH_AudioEncoder_Flush](#oh_audioencoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | +| [OH_AudioEncoder_Reset](#oh_audioencoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 | +| [OH_AudioEncoder_GetOutputDescription](#oh_audioencoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*
获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 | +| [OH_AudioEncoder_SetParameter](#oh_audioencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 | +| [OH_AudioEncoder_PushInputData](#oh_audioencoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | [OH_AVErrCode](_core.md#oh_averrcode)
将填充好数据的输入Buffer提交给音频编码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。 | +| [OH_AudioEncoder_FreeOutputData](#oh_audioencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)
将处理结束的输出Buffer交还给编码器。 | + + +## 函数说明 + + +### OH_AudioEncoder_Configure() + + +``` +OH_AVErrCode OH_AudioEncoder_Configure (OH_AVCodec * codec, OH_AVFormat * format ) +``` +**描述:** +配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 + +@syscap SystemCapability.Multimedia.Media.AudioEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| format | OH_AVFormat句柄指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioEncoder_CreateByMime() + + +``` +OH_AVCodec* OH_AudioEncoder_CreateByMime (const char * mime) +``` +**描述:** +通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。 + +@syscap SystemCapability.Multimedia.Media.AudioEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_AUDIO_AAC](_codec_base.md#oh_avcodec_mimetype_audio_aac) | + +**返回:** + +返回一个指向OH_AVCodec实例的指针 + + +### OH_AudioEncoder_CreateByName() + + +``` +OH_AVCodec* OH_AudioEncoder_CreateByName (const char * name) +``` +**描述:** +通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 + +@syscap SystemCapability.Multimedia.Media.AudioEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| name | 音频编码器名称 | + +**返回:** + +返回一个指向OH_AVCodec实例的指针 + + +### OH_AudioEncoder_Destroy() + + +``` +OH_AVErrCode OH_AudioEncoder_Destroy (OH_AVCodec * codec) +``` +**描述:** +清空编码器内部资源,并销毁编码器实例。 + +@syscap SystemCapability.Multimedia.Media.AudioEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioEncoder_Flush() + + +``` +OH_AVErrCode OH_AudioEncoder_Flush (OH_AVCodec * codec) +``` +**描述:** +清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 + +@syscap SystemCapability.Multimedia.Media.AudioEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioEncoder_FreeOutputData() + + +``` +OH_AVErrCode OH_AudioEncoder_FreeOutputData (OH_AVCodec * codec, uint32_t index ) +``` +**描述:** +将处理结束的输出Buffer交还给编码器。 + +@syscap SystemCapability.Multimedia.Media.AudioEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| index | 输出Buffer对应的索引值 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioEncoder_GetOutputDescription() + + +``` +OH_AVFormat* OH_AudioEncoder_GetOutputDescription (OH_AVCodec * codec) +``` +**描述:** +获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 + +@syscap SystemCapability.Multimedia.Media.AudioEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +返回OH_AVFormat句柄指针,需调用者手动释放; + + +### OH_AudioEncoder_Prepare() + + +``` +OH_AVErrCode OH_AudioEncoder_Prepare (OH_AVCodec * codec) +``` +**描述:** +准备编码器内部资源,调用该接口前必须先调用Configure接口。 + +@syscap SystemCapability.Multimedia.Media.AudioEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioEncoder_PushInputData() + + +``` +OH_AVErrCode OH_AudioEncoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr ) +``` +**描述:** +将填充好数据的输入Buffer提交给音频编码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。 + +@syscap SystemCapability.Multimedia.Media.AudioEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| index | 输入Buffer对应的索引值 | +| attr | 描述该Buffer内所包含数据的信息 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioEncoder_Reset() + + +``` +OH_AVErrCode OH_AudioEncoder_Reset (OH_AVCodec * codec) +``` +**描述:** +重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 + +@syscap SystemCapability.Multimedia.Media.AudioEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioEncoder_SetCallback() + + +``` +OH_AVErrCode OH_AudioEncoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCallback callback, void * userData ) +``` +**描述:** +设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 + +@syscap SystemCapability.Multimedia.Media.AudioEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| callback | 一个包含所有回调函数的集合体,参考[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | +| userData | 用户特定数据 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioEncoder_SetParameter() + + +``` +OH_AVErrCode OH_AudioEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * format ) +``` +**描述:** +向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 + +@syscap SystemCapability.Multimedia.Media.AudioEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| format | OH_AVFormat句柄指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioEncoder_Start() + + +``` +OH_AVErrCode OH_AudioEncoder_Start (OH_AVCodec * codec) +``` +**描述:** +启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 + +@syscap SystemCapability.Multimedia.Media.AudioEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_AudioEncoder_Stop() + + +``` +OH_AVErrCode OH_AudioEncoder_Stop (OH_AVCodec * codec) +``` +**描述:** +停止编码器。在停止后可通过Start重新进入Started状态。 + +@syscap SystemCapability.Multimedia.Media.AudioEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) diff --git a/zh-cn/application-dev/reference/native-apis/_codec_base.md b/zh-cn/application-dev/reference/native-apis/_codec_base.md new file mode 100644 index 0000000000000000000000000000000000000000..a19b89726fd1822cce7d8fceb602ce54972e5f14 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_codec_base.md @@ -0,0 +1,573 @@ +# CodecBase + + +## 概述 + +CodecBase模块提供运行音视频编解码通用的结构体、字符常量、枚举。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + +**Since:** +9 +**Version:** +1.0 + +## 汇总 + + +### 文件 + + | 名称 | 描述 | +| -------- | -------- | +| [native_avcodec_base.h](native__avcodec__base_8h.md) | 声明运行音视频编解码通用的结构体、字符常量、枚举。 | + + +### 结构体 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) | struct
定义OH_AVCodec的Buffer描述信息。 | +| [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | struct
AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 | + + +### 类型定义 + + | 名称 | 描述 | +| -------- | -------- | +| **OHNativeWindow** | typedef struct NativeWindow | +| **OH_AVCodec** | typedef struct OH_AVCodec | +| [OH_AVCodecBufferFlags](#oh_avcodecbufferflags) | typedef enum [OH_AVCodecBufferFlags](#oh_avcodecbufferflags)
枚举OH_AVCodec的Buffer标记的类别。 | +| [OH_AVCodecBufferAttr](#oh_avcodecbufferattr) | typedef struct [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)
定义OH_AVCodec的Buffer描述信息。 | +| [OH_AVCodecOnError](#oh_avcodeconerror)) (OH_AVCodec \*codec, int32_t errorCode, void \*userData) | typedef void(\*
当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。 | +| [OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)) (OH_AVCodec \*codec, OH_AVFormat \*format, void \*userData) | typedef void(\*
当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。 需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。 | +| [OH_AVCodecOnNeedInputData](#oh_avcodeconneedinputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, void \*userData) | typedef void(\*
当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。 | +| [OH_AVCodecOnNewOutputData](#oh_avcodeconnewoutputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) \*attr, void \*userData) | typedef void(\*
当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer, 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。 | +| [OH_AVCodecAsyncCallback](#oh_avcodecasynccallback) | typedef struct [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)
AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 | +| [OH_MediaType](#oh_mediatype) | typedef enum [OH_MediaType](#oh_mediatype)
媒体类型。 | +| [OH_AVCProfile](#oh_avcprofile) | typedef enum [OH_AVCProfile](#oh_avcprofile)
AVC Profile枚举。 | +| [OH_AACProfile](#oh_aacprofile) | typedef enum [OH_AACProfile](#oh_aacprofile)
AAC Profile枚举。 | + + +### 枚举 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AVCodecBufferFlags](#oh_avcodecbufferflags) {
**AVCODEC_BUFFER_FLAGS_NONE** = 0, **AVCODEC_BUFFER_FLAGS_EOS** = 1 << 0, **AVCODEC_BUFFER_FLAGS_SYNC_FRAME** = 1 << 1, **AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME** = 1 << 2, **AVCODEC_BUFFER_FLAGS_CODEC_DATA**= 1 << 3
} | 枚举OH_AVCodec的Buffer标记的类别。 | +| [OH_MediaType](#oh_mediatype) { **MEDIA_TYPE_AUD** = 0, **MEDIA_TYPE_VID** = 1 } | 媒体类型。 | +| [OH_AVCProfile](#oh_avcprofile) { **AVC_PROFILE_BASELINE** = 0, **AVC_PROFILE_HIGH** = 4, **AVC_PROFILE_MAIN** = 8 } | AVC Profile枚举。 | +| [OH_AACProfile](#oh_aacprofile) { **AAC_PROFILE_LC** = 0 } | AAC Profile枚举。 | + + +### 变量 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AVCodecBufferAttr::pts](#pts) | int64_t
以微秒为单位表示的该Buffer的Presentation时间戳 | +| [OH_AVCodecBufferAttr::size](#size) | int32_t
以字节为单位表示的该Buffer内所包含数据的大小 | +| [OH_AVCodecBufferAttr::offset](#offset) | int32_t
有效数据在该Buffer内的起始偏移量 | +| [OH_AVCodecBufferAttr::flags](#flags) | uint32_t
该Buffer具有的标记,也是多个[OH_AVCodecBufferFlags](#oh_avcodecbufferflags)的组合 | +| **OH_AVCodecAsyncCallback::onError** | [OH_AVCodecOnError](#oh_avcodeconerror) | +| **OH_AVCodecAsyncCallback::onStreamChanged** | [OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged) | +| **OH_AVCodecAsyncCallback::onNeedInputData** | [OH_AVCodecOnNeedInputData](#oh_avcodeconneedinputdata) | +| **OH_AVCodecAsyncCallback::onNeedOutputData** | [OH_AVCodecOnNewOutputData](#oh_avcodeconnewoutputdata) | +| [OH_AVCODEC_MIMETYPE_VIDEO_AVC](#oh_avcodec_mimetype_video_avc) | const char \*
AVC视频编解码器的MIME类型。 | +| [OH_AVCODEC_MIMETYPE_AUDIO_AAC](#oh_avcodec_mimetype_audio_aac) | const char \*
AAC音频编解码器的MIME类型。 | +| [OH_ED_KEY_TIME_STAMP](#oh_ed_key_time_stamp) | const char \*
提供统一的surface Buffer附属数据的字符描述符。 | +| [OH_ED_KEY_EOS](#oh_ed_key_eos) | const char \*
surface附属数据中结束流的字符描述符,值类型为bool | +| [OH_MD_KEY_TRACK_TYPE](#oh_md_key_track_type) | const char \*
为媒体播放框架提供统一的字符描述符。 | +| [OH_MD_KEY_CODEC_MIME](#oh_md_key_codec_mime) | const char \*
mime类型的字符描述符,值类型为string | +| [OH_MD_KEY_DURATION](#oh_md_key_duration) | const char \*
duration的字符描述符,值类型为int64_t | +| [OH_MD_KEY_BITRATE](#oh_md_key_bitrate) | const char \*
比特率的字符描述符,值类型为uint32_t | +| [OH_MD_KEY_MAX_INPUT_SIZE](#oh_md_key_max_input_size) | const char \*
最大输入尺寸的字符描述符,值类型为uint32_t | +| [OH_MD_KEY_WIDTH](#oh_md_key_width) | const char \*
视频宽度的字符描述符,值类型为uint32_t | +| [OH_MD_KEY_HEIGHT](#oh_md_key_height) | const char \*
视频高度的字符描述符,值类型为uint32_t | +| [OH_MD_KEY_PIXEL_FORMAT](#oh_md_key_pixel_format) | const char \*
视频像素格式的字符描述符,值类型为int32_t,具体见[OH_AVPixelFormat](_core.md#oh_avpixelformat) | +| [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](#oh_md_key_audio_sample_format) | const char \*
音频采样格式的字符描述符,值类型为uint32_t | +| [OH_MD_KEY_FRAME_RATE](#oh_md_key_frame_rate) | const char \*
视频帧率的字符描述符,值类型为double | +| [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](#oh_md_key_video_encode_bitrate_mode) | const char \*
视频编码比特率模式的字符描述符,值类型为int32_t,具体见[OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode) | +| [OH_MD_KEY_PROFILE](#oh_md_key_profile) | const char \*
音视频编码能力的字符描述符,值类型为int32_t,具体见[OH_AVCProfile](#oh_avcprofile)或[OH_AACProfile](#oh_aacprofile) | +| [OH_MD_KEY_AUD_CHANNEL_COUNT](#oh_md_key_aud_channel_count) | const char \*
音频声道数的字符描述符,值类型为uint32_t | +| [OH_MD_KEY_AUD_SAMPLE_RATE](#oh_md_key_aud_sample_rate) | const char \*
音频采样率的字符描述符,值类型为uint32_t | +| [OH_MD_KEY_I_FRAME_INTERVAL](#oh_md_key_i_frame_interval) | const char \*
I帧间隔时长的字符描述符,值类型为int32_t,单位是毫秒 | +| [OH_MD_KEY_ROTATION](#oh_md_key_rotation) | const char \*
surface旋转角度的字符描述符,值类型为int32_t,限于{0, 90, 180, 270},默认值为0 | + + +## 类型定义说明 + + +### OH_AACProfile + + +``` +typedef enum OH_AACProfileOH_AACProfile +``` +**描述:** +AAC Profile枚举。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + + +### OH_AVCodecAsyncCallback + + +``` +typedef struct OH_AVCodecAsyncCallbackOH_AVCodecAsyncCallback +``` +**描述:** +AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| onError | 监听AVCodec运行错误,参考[OH_AVCodecOnError](#oh_avcodeconerror) | +| onStreamChanged | 监听编解码流信息,参考[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged) | +| onNeedInputData | 监听编解码需要输入数据,参考[OH_AVCodecOnNeedInputData](#oh_avcodeconneedinputdata) | +| onNeedInputData | 监听编解码产生输出数据,参考[OH_AVCodecOnNewOutputData](#oh_avcodeconnewoutputdata) | + + +### OH_AVCodecBufferAttr + + +``` +typedef struct OH_AVCodecBufferAttrOH_AVCodecBufferAttr +``` +**描述:** +定义OH_AVCodec的Buffer描述信息。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + + +### OH_AVCodecBufferFlags + + +``` +typedef enum OH_AVCodecBufferFlagsOH_AVCodecBufferFlags +``` +**描述:** +枚举OH_AVCodec的Buffer标记的类别。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + + +### OH_AVCodecOnError + + +``` +typedef void(* OH_AVCodecOnError) (OH_AVCodec *codec, int32_t errorCode, void *userData) +``` +**描述:** +当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | OH_AVCodec实例 | +| errorCode | 具体错误码 | +| userData | 用户特定数据 | + + +### OH_AVCodecOnNeedInputData + + +``` +typedef void(* OH_AVCodecOnNeedInputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, void *userData) +``` +**描述:** +当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | OH_AVCodec实例 | +| index | 新的可用的输入Buffer对应的索引 | +| data | 新的可用的输入Buffer | +| userData | 用户特定数据 | + + +### OH_AVCodecOnNewOutputData + + +``` +typedef void(* OH_AVCodecOnNewOutputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, OH_AVCodecBufferAttr *attr, void *userData) +``` +**描述:** +当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer, 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | OH_AVCodec实例 | +| index | 新的输出Buffer对应的索引 | +| data | 包含新的输出数据的Buffer | +| attr | 新的输出Buffer的描述信息,具体参考[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) | +| userData | specified data | + + +### OH_AVCodecOnStreamChanged + + +``` +typedef void(* OH_AVCodecOnStreamChanged) (OH_AVCodec *codec, OH_AVFormat *format, void *userData) +``` +**描述:** +当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。 需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | OH_AVCodec实例 | +| format | 新的输出流描述信息 | +| userData | 用户特定数据 | + + +### OH_AVCProfile + + +``` +typedef enum OH_AVCProfileOH_AVCProfile +``` +**描述:** +AVC Profile枚举。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + + +### OH_MediaType + + +``` +typedef enum OH_MediaTypeOH_MediaType +``` +**描述:** +媒体类型。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + + +## 枚举类型说明 + + +### OH_AACProfile + + +``` +enum OH_AACProfile +``` +**描述:** +AAC Profile枚举。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + + +### OH_AVCodecBufferFlags + + +``` +enum OH_AVCodecBufferFlags +``` +**描述:** +枚举OH_AVCodec的Buffer标记的类别。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + + | 枚举值 | 描述 | +| -------- | -------- | +| AVCODEC_BUFFER_FLAGS_EOS | 表明该Buffer是End-of-Stream帧 | +| AVCODEC_BUFFER_FLAGS_SYNC_FRAME | 表明该Buffer内包含关键帧 | +| AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME | 表明该Buffer内包含的数据仅仅为一帧的一部分 | +| AVCODEC_BUFFER_FLAGS_CODEC_DATA | 表明该Buffer包含Codec-Specific-Data | + + +### OH_AVCProfile + + +``` +enum OH_AVCProfile +``` +**描述:** +AVC Profile枚举。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + + +### OH_MediaType + + +``` +enum OH_MediaType +``` +**描述:** +媒体类型。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + + | 枚举值 | 描述 | +| -------- | -------- | +| MEDIA_TYPE_AUD | 音频轨道 | +| MEDIA_TYPE_VID | 视频轨道 | + + +## 变量说明 + + +### flags + + +``` +uint32_t OH_AVCodecBufferAttr::flags +``` +**描述:** +该Buffer具有的标记,也是多个[OH_AVCodecBufferFlags](#oh_avcodecbufferflags)的组合 + + +### offset + + +``` +int32_t OH_AVCodecBufferAttr::offset +``` +**描述:** +有效数据在该Buffer内的起始偏移量 + + +### OH_AVCODEC_MIMETYPE_AUDIO_AAC + + +``` +const char* OH_AVCODEC_MIMETYPE_AUDIO_AAC +``` +**描述:** +AAC音频编解码器的MIME类型。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + + +### OH_AVCODEC_MIMETYPE_VIDEO_AVC + + +``` +const char* OH_AVCODEC_MIMETYPE_VIDEO_AVC +``` +**描述:** +AVC视频编解码器的MIME类型。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + + +### OH_ED_KEY_EOS + + +``` +const char* OH_ED_KEY_EOS +``` +**描述:** +surface附属数据中结束流的字符描述符,值类型为bool + + +### OH_ED_KEY_TIME_STAMP + + +``` +const char* OH_ED_KEY_TIME_STAMP +``` +**描述:** +提供统一的surface Buffer附属数据的字符描述符。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + + +### OH_MD_KEY_AUD_CHANNEL_COUNT + + +``` +const char* OH_MD_KEY_AUD_CHANNEL_COUNT +``` +**描述:** +音频声道数的字符描述符,值类型为uint32_t + + +### OH_MD_KEY_AUD_SAMPLE_RATE + + +``` +const char* OH_MD_KEY_AUD_SAMPLE_RATE +``` +**描述:** +音频采样率的字符描述符,值类型为uint32_t + + +### OH_MD_KEY_AUDIO_SAMPLE_FORMAT + + +``` +const char* OH_MD_KEY_AUDIO_SAMPLE_FORMAT +``` +**描述:** +音频采样格式的字符描述符,值类型为uint32_t + + +### OH_MD_KEY_BITRATE + + +``` +const char* OH_MD_KEY_BITRATE +``` +**描述:** +比特率的字符描述符,值类型为uint32_t + + +### OH_MD_KEY_CODEC_MIME + + +``` +const char* OH_MD_KEY_CODEC_MIME +``` +**描述:** +mime类型的字符描述符,值类型为string + + +### OH_MD_KEY_DURATION + + +``` +const char* OH_MD_KEY_DURATION +``` +**描述:** +duration的字符描述符,值类型为int64_t + + +### OH_MD_KEY_FRAME_RATE + + +``` +const char* OH_MD_KEY_FRAME_RATE +``` +**描述:** +视频帧率的字符描述符,值类型为double + + +### OH_MD_KEY_HEIGHT + + +``` +const char* OH_MD_KEY_HEIGHT +``` +**描述:** +视频高度的字符描述符,值类型为uint32_t + + +### OH_MD_KEY_I_FRAME_INTERVAL + + +``` +const char* OH_MD_KEY_I_FRAME_INTERVAL +``` +**描述:** +I帧间隔时长的字符描述符,值类型为int32_t,单位是毫秒 + + +### OH_MD_KEY_MAX_INPUT_SIZE + + +``` +const char* OH_MD_KEY_MAX_INPUT_SIZE +``` +**描述:** +最大输入尺寸的字符描述符,值类型为uint32_t + + +### OH_MD_KEY_PIXEL_FORMAT + + +``` +const char* OH_MD_KEY_PIXEL_FORMAT +``` +**描述:** +视频像素格式的字符描述符,值类型为int32_t,具体见[OH_AVPixelFormat](_core.md#oh_avpixelformat) + + +### OH_MD_KEY_PROFILE + + +``` +const char* OH_MD_KEY_PROFILE +``` +**描述:** +音视频编码能力的字符描述符,值类型为int32_t,具体见[OH_AVCProfile](#oh_avcprofile)或[OH_AACProfile](#oh_aacprofile) + + +### OH_MD_KEY_ROTATION + + +``` +const char* OH_MD_KEY_ROTATION +``` +**描述:** +surface旋转角度的字符描述符,值类型为int32_t,限于{0, 90, 180, 270},默认值为0 + + +### OH_MD_KEY_TRACK_TYPE + + +``` +const char* OH_MD_KEY_TRACK_TYPE +``` +**描述:** +为媒体播放框架提供统一的字符描述符。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + + +### OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE + + +``` +const char* OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE +``` +**描述:** +视频编码比特率模式的字符描述符,值类型为int32_t,具体见[OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode) + + +### OH_MD_KEY_WIDTH + + +``` +const char* OH_MD_KEY_WIDTH +``` +**描述:** +视频宽度的字符描述符,值类型为uint32_t + + +### pts + + +``` +int64_t OH_AVCodecBufferAttr::pts +``` +**描述:** +以微秒为单位表示的该Buffer的Presentation时间戳 + + +### size + + +``` +int32_t OH_AVCodecBufferAttr::size +``` +**描述:** +以字节为单位表示的该Buffer内所包含数据的大小 diff --git a/zh-cn/application-dev/reference/native-apis/_core.md b/zh-cn/application-dev/reference/native-apis/_core.md new file mode 100644 index 0000000000000000000000000000000000000000..93b290c3d4ffc206759d38e133b64b43657afa19 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_core.md @@ -0,0 +1,592 @@ +# Core + + +## 概述 + +Core模块提供用于播放框架的基础骨干能力,包含内存、错误码、格式载体等相关函数。 + +@syscap SystemCapability.Multimedia.Media.Core + +**Since:** +9 +**Version:** +1.0 + +## 汇总 + + +### 文件 + + | 名称 | 描述 | +| -------- | -------- | +| [native_averrors.h](native__averrors_8h.md) | 声明了媒体播放框架的错误码。 | +| [native_avformat.h](native__avformat_8h.md) | 声明了格式相关的函数和枚举。 | +| [native_avmemory.h](native__avmemory_8h.md) | 声明了AVMemory的函数接口。 | + + +### 类型定义 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AVErrCode](#oh_averrcode) | typedef enum [OH_AVErrCode](#oh_averrcode)
音视频错误码。 | +| **OH_AVFormat** | typedef struct OH_AVFormat | +| [OH_AVPixelFormat](#oh_avpixelformat) | typedef enum [OH_AVPixelFormat](#oh_avpixelformat)
AVPixel 格式的枚举。 | +| **OH_AVMemory** | typedef struct OH_AVMemory | + + +### 枚举 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AVErrCode](#oh_averrcode) {
**AV_ERR_OK** = 0, **AV_ERR_NO_MEMORY** = 1, **AV_ERR_OPERATE_NOT_PERMIT** = 2, **AV_ERR_INVALID_VAL** = 3, **AV_ERR_IO** = 4, **AV_ERR_TIMEOUT** = 5, **AV_ERR_UNKNOWN** = 6, **AV_ERR_SERVICE_DIED** = 7, **AV_ERR_INVALID_STATE** = 8, **AV_ERR_UNSUPPORT** = 9, **AV_ERR_EXTEND_START** = 100
} | 音视频错误码。 | +| [OH_AVPixelFormat](#oh_avpixelformat) {
**AV_PIXEL_FORMAT_YUVI420** = 1, **AV_PIXEL_FORMAT_NV12** = 2, **AV_PIXEL_FORMAT_NV21** = 3, **AV_PIXEL_FORMAT_SURFACE_FORMAT** = 4, **AV_PIXEL_FORMAT_RGBA** = 5
} | AVPixel 格式的枚举。 | + + +### 函数 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AVFormat_Create](#oh_avformat_create) (void) | struct OH_AVFormat \*
创建一个OH_AVFormat句柄指针,用以读写数据。 | +| [OH_AVFormat_Destroy](#oh_avformat_destroy) (struct OH_AVFormat \*format) | void
销毁指定OH_AVFormat句柄资源。 | +| [OH_AVFormat_Copy](#oh_avformat_copy) (struct OH_AVFormat \*to, struct OH_AVFormat \*from) | bool
拷贝OH_AVFormat句柄资源. | +| [OH_AVFormat_SetIntValue](#oh_avformat_setintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t value) | bool
向OH_AVFormat写入Int数据. | +| [OH_AVFormat_SetLongValue](#oh_avformat_setlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t value) | bool
向OH_AVFormat写入Long数据。 | +| [OH_AVFormat_SetFloatValue](#oh_avformat_setfloatvalue) (struct OH_AVFormat \*format, const char \*key, float value) | bool
向OH_AVFormat写入Float数据。 | +| [OH_AVFormat_SetDoubleValue](#oh_avformat_setdoublevalue) (struct OH_AVFormat \*format, const char \*key, double value) | bool
向OH_AVFormat写入Double数据。 | +| [OH_AVFormat_SetStringValue](#oh_avformat_setstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*value) | bool
向OH_AVFormat写入String数据。 | +| [OH_AVFormat_SetBuffer](#oh_avformat_setbuffer) (struct OH_AVFormat \*format, const char \*key, const uint8_t \*addr, size_t size) | bool
向OH_AVFormat写入一块指定长度的数据。 | +| [OH_AVFormat_GetIntValue](#oh_avformat_getintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t \*out) | bool
从OH_AVFormat读取Int数据。 | +| [OH_AVFormat_GetLongValue](#oh_avformat_getlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t \*out) | bool
从OH_AVFormat读取Long数据。 | +| [OH_AVFormat_GetFloatValue](#oh_avformat_getfloatvalue) (struct OH_AVFormat \*format, const char \*key, float \*out) | bool
从OH_AVFormat读取Float数据。 | +| [OH_AVFormat_GetDoubleValue](#oh_avformat_getdoublevalue) (struct OH_AVFormat \*format, const char \*key, double \*out) | bool
从OH_AVFormat读取Double数据。 | +| [OH_AVFormat_GetStringValue](#oh_avformat_getstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*\*out) | bool
从OH_AVFormat读取Double数据。 | +| [OH_AVFormat_GetBuffer](#oh_avformat_getbuffer) (struct OH_AVFormat \*format, const char \*key, uint8_t \*\*addr, size_t \*size) | bool
从OH_AVFormat读取一块指定长度的数据。 | +| [OH_AVFormat_DumpInfo](#oh_avformat_dumpinfo) (struct OH_AVFormat \*format) | const char \*
以字符串的形式输出OH_AVFormat所包含的信息。 | +| [OH_AVMemory_GetAddr](#oh_avmemory_getaddr) (struct OH_AVMemory \*mem) | uint8_t \*
获取入参的内存虚拟地址。 | +| [OH_AVMemory_GetSize](#oh_avmemory_getsize) (struct OH_AVMemory \*mem) | int32_t
获取入参的内存长度。 | + + +## 类型定义说明 + + +### OH_AVErrCode + + +``` +typedef enum OH_AVErrCodeOH_AVErrCode +``` +**描述:** +音视频错误码。 + +@syscap SystemCapability.Multimedia.Media.Core + + +### OH_AVPixelFormat + + +``` +typedef enum OH_AVPixelFormatOH_AVPixelFormat +``` +**描述:** +AVPixel 格式的枚举。 + +@syscap SystemCapability.Multimedia.Media.Core + + +## 枚举类型说明 + + +### OH_AVErrCode + + +``` +enum OH_AVErrCode +``` +**描述:** +音视频错误码。 + +@syscap SystemCapability.Multimedia.Media.Core + + | 枚举值 | 描述 | +| -------- | -------- | +| AV_ERR_OK | 操作成功 | +| AV_ERR_NO_MEMORY | 无内存 | +| AV_ERR_OPERATE_NOT_PERMIT | 无效参数 | +| AV_ERR_INVALID_VAL | 无效值 | +| AV_ERR_IO | IO 错误 | +| AV_ERR_TIMEOUT | 超时错误 | +| AV_ERR_UNKNOWN | 未知错误 | +| AV_ERR_SERVICE_DIED | 媒体服务死亡 | +| AV_ERR_INVALID_STATE | 当前状态不支持此操作 | +| AV_ERR_UNSUPPORT | 未支持的接口 | +| AV_ERR_EXTEND_START | 扩展错误码初始值 | + + +### OH_AVPixelFormat + + +``` +enum OH_AVPixelFormat +``` +**描述:** +AVPixel 格式的枚举。 + +@syscap SystemCapability.Multimedia.Media.Core + + | 枚举值 | 描述 | +| -------- | -------- | +| AV_PIXEL_FORMAT_YUVI420 | yuv 420 planar | +| AV_PIXEL_FORMAT_NV12 | NV12. yuv 420 semiplanar | +| AV_PIXEL_FORMAT_NV21 | NV21. yvu 420 semiplanar | +| AV_PIXEL_FORMAT_SURFACE_FORMAT | surface格式 | +| AV_PIXEL_FORMAT_RGBA | RGBA8888 | + + +## 函数说明 + + +### OH_AVFormat_Copy() + + +``` +bool OH_AVFormat_Copy (struct OH_AVFormat * to, struct OH_AVFormat * from ) +``` +**描述:** +拷贝OH_AVFormat句柄资源. + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| to | 接收数据的OH_AVFormat句柄指针 | +| from | 被拷贝数据的OH_AVFormat句柄指针 | + +**返回:** + +返回值为TRUE表示成功 + +返回值为FALSE表示失败 + + +### OH_AVFormat_Create() + + +``` +struct OH_AVFormat* OH_AVFormat_Create (void ) +``` +**描述:** +创建一个OH_AVFormat句柄指针,用以读写数据。 + +@syscap SystemCapability.Multimedia.Media.Core + +**返回:** + +返回OH_AVFormat实例的指针 + + +### OH_AVFormat_Destroy() + + +``` +void OH_AVFormat_Destroy (struct OH_AVFormat * format) +``` +**描述:** +销毁指定OH_AVFormat句柄资源。 + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| format | 指向OH_AVFormat实例的指针 | + +**返回:** + +void + + +### OH_AVFormat_DumpInfo() + + +``` +const char* OH_AVFormat_DumpInfo (struct OH_AVFormat * format) +``` +**描述:** +以字符串的形式输出OH_AVFormat所包含的信息。 + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| format | 指向OH_AVFormat实例的指针 | + +**返回:** + +返回由键值和数据组成的字符串指针 + + +### OH_AVFormat_GetBuffer() + + +``` +bool OH_AVFormat_GetBuffer (struct OH_AVFormat * format, const char * key, uint8_t ** addr, size_t * size ) +``` +**描述:** +从OH_AVFormat读取一块指定长度的数据。 + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| format | 指向OH_AVFormat实例的指针 | +| key | 读写数据的键值 | +| addr | 生命周期是format持有,伴随format销毁,如果调用者需要长期持有,必须进行内存拷贝 | +| size | 读写数据的长度 | + +**返回:** + +返回值为TRUE表示成功 + +返回值为FALSE表示失败 + + +### OH_AVFormat_GetDoubleValue() + + +``` +bool OH_AVFormat_GetDoubleValue (struct OH_AVFormat * format, const char * key, double * out ) +``` +**描述:** +从OH_AVFormat读取Double数据。 + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| format | 指向OH_AVFormat实例的指针 | +| key | 读取数据的键值 | +| out | 读取的数据 | + +**返回:** + +返回值为TRUE表示成功 + +返回值为FALSE表示失败 + + +### OH_AVFormat_GetFloatValue() + + +``` +bool OH_AVFormat_GetFloatValue (struct OH_AVFormat * format, const char * key, float * out ) +``` +**描述:** +从OH_AVFormat读取Float数据。 + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| format | 指向OH_AVFormat实例的指针 | +| key | 读取数据的键值 | +| out | 读取的数据 | + +**返回:** + +返回值为TRUE表示成功 + +返回值为FALSE表示失败 + + +### OH_AVFormat_GetIntValue() + + +``` +bool OH_AVFormat_GetIntValue (struct OH_AVFormat * format, const char * key, int32_t * out ) +``` +**描述:** +从OH_AVFormat读取Int数据。 + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| format | 指向OH_AVFormat实例的指针 | +| key | 读取数据的键值 | +| out | 读取的数据 | + +**返回:** + +返回值为TRUE表示成功 + +返回值为FALSE表示失败 + + +### OH_AVFormat_GetLongValue() + + +``` +bool OH_AVFormat_GetLongValue (struct OH_AVFormat * format, const char * key, int64_t * out ) +``` +**描述:** +从OH_AVFormat读取Long数据。 + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| format | 指向OH_AVFormat实例的指针 | +| key | 读取数据的键值 | +| out | 读取的数据 | + +**返回:** + +返回值为TRUE表示成功 + +返回值为FALSE表示失败 + + +### OH_AVFormat_GetStringValue() + + +``` +bool OH_AVFormat_GetStringValue (struct OH_AVFormat * format, const char * key, const char ** out ) +``` +**描述:** +从OH_AVFormat读取Double数据。 + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| format | 指向OH_AVFormat实例的指针 | +| key | 读取数据的键值 | +| out | 读取的字符串指针,指向的数据生命周期伴随GetString更新,伴随format销毁,如果调用者需要长期持有,必须进行内存拷贝 | + +**返回:** + +返回值为TRUE表示成功 + +返回值为FALSE表示失败 + + +### OH_AVFormat_SetBuffer() + + +``` +bool OH_AVFormat_SetBuffer (struct OH_AVFormat * format, const char * key, const uint8_t * addr, size_t size ) +``` +**描述:** +向OH_AVFormat写入一块指定长度的数据。 + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| format | 指向OH_AVFormat实例的指针 | +| key | 写入数据的键值 | +| addr | 写入的数据地址 | +| size | 写入的数据长度 | + +**返回:** + +返回值为TRUE表示成功 + +返回值为FALSE表示失败 + + +### OH_AVFormat_SetDoubleValue() + + +``` +bool OH_AVFormat_SetDoubleValue (struct OH_AVFormat * format, const char * key, double value ) +``` +**描述:** +向OH_AVFormat写入Double数据。 + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| format | 指向OH_AVFormat实例的指针 | +| key | 写入数据的键值 | +| value | 写入的数据 | + +**返回:** + +返回值为TRUE表示成功 + +返回值为FALSE表示失败 + + +### OH_AVFormat_SetFloatValue() + + +``` +bool OH_AVFormat_SetFloatValue (struct OH_AVFormat * format, const char * key, float value ) +``` +**描述:** +向OH_AVFormat写入Float数据。 + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| format | 指向OH_AVFormat实例的指针 | +| key | 写入数据的键值 | +| value | 写入的数据 | + +**返回:** + +返回值为TRUE表示成功 + +返回值为FALSE表示失败 + + +### OH_AVFormat_SetIntValue() + + +``` +bool OH_AVFormat_SetIntValue (struct OH_AVFormat * format, const char * key, int32_t value ) +``` +**描述:** +向OH_AVFormat写入Int数据. + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| format | 指向OH_AVFormat实例的指针 | +| key | 写入数据的键值 | +| value | 写入的数据 | + +**返回:** + +返回值为TRUE表示成功 + +返回值为FALSE表示失败 + + +### OH_AVFormat_SetLongValue() + + +``` +bool OH_AVFormat_SetLongValue (struct OH_AVFormat * format, const char * key, int64_t value ) +``` +**描述:** +向OH_AVFormat写入Long数据。 + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| format | 指向OH_AVFormat实例的指针 | +| key | 写入数据的键值 | +| value | 写入的数据 | + +**返回:** + +返回值为TRUE表示成功 + +返回值为FALSE表示失败 + + +### OH_AVFormat_SetStringValue() + + +``` +bool OH_AVFormat_SetStringValue (struct OH_AVFormat * format, const char * key, const char * value ) +``` +**描述:** +向OH_AVFormat写入String数据。 + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| format | 指向OH_AVFormat实例的指针 | +| key | 写入数据的键值 | +| value | 写入的数据 | + +**返回:** + +返回值为TRUE表示成功 + +返回值为FALSE表示失败 + + +### OH_AVMemory_GetAddr() + + +``` +uint8_t* OH_AVMemory_GetAddr (struct OH_AVMemory * mem) +``` +**描述:** +获取入参的内存虚拟地址。 + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| mem | 指向OH_AVMemory实例的指针 | + +**返回:** + +如果内存有效,返回内存的虚拟地址 + +如果内存无效,返回nullptr + + +### OH_AVMemory_GetSize() + + +``` +int32_t OH_AVMemory_GetSize (struct OH_AVMemory * mem) +``` +**描述:** +获取入参的内存长度。 + +@syscap SystemCapability.Multimedia.Media.Core + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| mem | 指向OH_AVMemory实例的指针 | + +**返回:** + +如果内存有效,返回内存长度 + +如果内存无效,返回-1 diff --git a/zh-cn/application-dev/reference/native-apis/_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md b/zh-cn/application-dev/reference/native-apis/_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md new file mode 100644 index 0000000000000000000000000000000000000000..ef94d783a274a4d2e471008f5104a9de74c0629f --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md @@ -0,0 +1,138 @@ +# OHOS::AVSession::AVControllerCallback + + +## 概述 + +定义控制器相关回调操作的类的实现。 + +**Since:** +9 +**Version:** +1.0 + +## 汇总 + + +### Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [OnSessionDestroy](#onsessiondestroy) ()=0 | AVSession会话销毁的抽象的回调方法。  | +| [OnPlaybackStateChange](#onplaybackstatechange) (const [AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md) &state)=0 | 音视频的播放状态发生改变的抽象的回调方法。  | +| [OnMetaDataChange](#onmetadatachange) (const [AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md) &data)=0 | 会话元数据内容发生变化的抽象的回调方法。  | +| [OnActiveStateChange](#onactivestatechange) (bool isActive)=0 | 当前会话激活状态发生改变的抽象的回调方法。  | +| [OnValidCommandChange](#onvalidcommandchange) (const std::vector< int32_t > &cmds)=0 | 控制命令的有效性发生变化的抽象的回调方法。  | +| [OnOutputDeviceChange](#onoutputdevicechange) (const [OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md) &outputDeviceInfo)=0 | 注册会话输出设备更改。  | +| [~AVControllerCallback](#avcontrollercallback) ()=default | AVControllerCallback的默认的析构函数。  | + + +## 构造及析构函数说明 + + +### ~AVControllerCallback() + + +``` +virtual OHOS::AVSession::AVControllerCallback::~AVControllerCallback () +``` +**描述:** +AVControllerCallback的默认的析构函数。 + + +## 成员函数说明 + + +### OnActiveStateChange() + + +``` +virtual void OHOS::AVSession::AVControllerCallback::OnActiveStateChange (bool isActive) +``` +**描述:** +当前会话激活状态发生改变的抽象的回调方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| isActive | 表示是否激活。  | + + +### OnMetaDataChange() + + +``` +virtual void OHOS::AVSession::AVControllerCallback::OnMetaDataChange (const AVMetaData & data) +``` +**描述:** +会话元数据内容发生变化的抽象的回调方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| data | 会话元数据内容,类型为[AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md)。  | + +**参见:** + +[AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md) + + +### OnOutputDeviceChange() + + +``` +virtual void OHOS::AVSession::AVControllerCallback::OnOutputDeviceChange (const OutputDeviceInfo & outputDeviceInfo) +``` +**描述:** +注册会话输出设备更改。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| outputDeviceInfo | 输出设备信息 [OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md)。  | + + +### OnPlaybackStateChange() + + +``` +virtual void OHOS::AVSession::AVControllerCallback::OnPlaybackStateChange (const AVPlaybackState & state) +``` +**描述:** +音视频的播放状态发生改变的抽象的回调方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| state | 音视频的播放状态的枚举值,类型为[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)。  | + + +### OnSessionDestroy() + + +``` +virtual void OHOS::AVSession::AVControllerCallback::OnSessionDestroy () +``` +**描述:** +AVSession会话销毁的抽象的回调方法。 + + +### OnValidCommandChange() + + +``` +virtual void OHOS::AVSession::AVControllerCallback::OnValidCommandChange (const std::vector< int32_t > & cmds) +``` +**描述:** +控制命令的有效性发生变化的抽象的回调方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| cmds,媒体有效的指令列表,范围为{ | | + + \ No newline at end of file diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_async_callback.md b/zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_async_callback.md new file mode 100644 index 0000000000000000000000000000000000000000..40ee60a6f27a2b5c43017bb7144013fa58a370d2 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_async_callback.md @@ -0,0 +1,29 @@ +# OH_AVCodecAsyncCallback + + +## 概述 + +AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 + +@syscap SystemCapability.Multimedia.Media.CodecBase +参数 +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[CodecBase](_codec_base.md) + + +## 汇总 + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| **onError** | [OH_AVCodecOnError](_codec_base.md#oh_avcodeconerror) | +| **onStreamChanged** | [OH_AVCodecOnStreamChanged](_codec_base.md#oh_avcodeconstreamchanged) | +| **onNeedInputData** | [OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) | +| **onNeedOutputData** | [OH_AVCodecOnNewOutputData](_codec_base.md#oh_avcodeconnewoutputdata) | diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_buffer_attr.md b/zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_buffer_attr.md new file mode 100644 index 0000000000000000000000000000000000000000..967a2f545aa481f69218c07f84b53411b3e97eac --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_buffer_attr.md @@ -0,0 +1,29 @@ +# OH_AVCodecBufferAttr + + +## 概述 + +定义OH_AVCodec的Buffer描述信息。 + +@syscap SystemCapability.Multimedia.Media.CodecBase + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[CodecBase](_codec_base.md) + + +## 汇总 + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| [pts](_codec_base.md#pts) | int64_t | +| [size](_codec_base.md#size) | int32_t | +| [offset](_codec_base.md#offset) | int32_t | +| [flags](_codec_base.md#flags) | uint32_t | diff --git a/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md new file mode 100644 index 0000000000000000000000000000000000000000..b6af07bf0fac8b7b4a6f0fabae9205b57c8ebef5 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md @@ -0,0 +1,400 @@ +# OHOS::AVSession::AVControlCommand + + +## 概述 + +用于描述音视频播控命令工具类,播控命令的封装对象,支持设置和获取控制命令。 + + +## 汇总 + + +### Public 类型 + + | 名称 | 描述 | +| -------- | -------- | +| {
**SESSION_CMD_INVALID** = -1, **SESSION_CMD_PLAY** = 0, **SESSION_CMD_PAUSE** = 1, **SESSION_CMD_STOP** = 2, **SESSION_CMD_PLAY_NEXT** = 3, **SESSION_CMD_PLAY_PREVIOUS** = 4, **SESSION_CMD_FAST_FORWARD** = 5, **SESSION_CMD_REWIND** = 6, **SESSION_CMD_SEEK** = 7, **SESSION_CMD_SET_SPEED** = 8, **SESSION_CMD_SET_LOOP_MODE** = 9, **SESSION_CMD_TOGGLE_FAVORITE** = 10, **SESSION_CMD_MAX** = 11
} | 操作指令。 | + + +### Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [Marshalling](#marshalling) (Parcel &parcel) const override | IPC通信数据序列化。 | + + +### 静态 Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [Unmarshalling](#unmarshalling) (Parcel &data) | IPC通信数据反序列化。 | +| [localCapability](#localcapability) | 命令数组,用于分布式业务,判断是否支持某个命令。 | +| [IsValid](#isvalid) () const | 判断当前指令是否在有效范围内。 | +| [SetCommand](#setcommand) (int32_t cmd) | 设置操作指令。 | +| [GetCommand](#getcommand) () const | 获取操作指令。 | +| [SetSpeed](#setspeed) (double speed) | 设置媒体播放倍数。 | +| [GetSpeed](#getspeed) (double &speed) const | 获取媒体播放倍数 | +| [SetSeekTime](#setseektime) (int64_t time) | 设置媒体跳播时间。 | +| [GetSeekTime](#getseektime) (int64_t &time) const | 获取媒体跳播时间。 | +| [SetLoopMode](#setloopmode) (int32_t mode) | 设置媒体循环模式。 | +| [GetLoopMode](#getloopmode) (int32_t &mode) const | 获取媒体循环模式。 | +| [SetAssetId](#setassetid) (const std::string &assetId) | 设置媒体id。 | +| [GetAssetId](#getassetid) (std::string &assetId) const | 获取媒体id。 | + + +## 成员枚举类型说明 + + +### anonymous enum + + +``` +anonymous enum +``` +**描述:** +操作指令。 + + | 枚举值 | 描述 | +| -------- | -------- | +| SESSION_CMD_INVALID | 无效指令,内部用于判断指令是否有效 | +| SESSION_CMD_PLAY | 播放 | +| SESSION_CMD_PAUSE | 暂停 | +| SESSION_CMD_STOP | 停止 | +| SESSION_CMD_PLAY_NEXT | 播放下一首 | +| SESSION_CMD_PLAY_PREVIOUS | 播放上一首 | +| SESSION_CMD_FAST_FORWARD | 快进 | +| SESSION_CMD_REWIND | 快退 | +| SESSION_CMD_SEEK | 跳播 | +| SESSION_CMD_SET_SPEED | 设置播放倍数 | +| SESSION_CMD_SET_LOOP_MODE | 设置循环模式 | +| SESSION_CMD_TOGGLE_FAVORITE | 收藏 | +| SESSION_CMD_MAX | 无效指令,内部用于判断指令是否有效 | + + +## 成员函数说明 + + +### GetAssetId() + + +``` +int32_t OHOS::AVSession::AVControlCommand::GetAssetId (std::string & assetId) const +``` +**描述:** +获取媒体id。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| assetId | 保存媒体id。 | + +**参见:** + +[SetAssetId](#setassetid) + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### GetCommand() + + +``` +int32_t OHOS::AVSession::AVControlCommand::GetCommand () const +``` +**描述:** +获取操作指令。 + +**返回:** + +返回操作指令,范围在**SESSION_CMD_INVALID**到**SESSION_CMD_MAX**之间。 + +**参见:** + +[SetCommand](#setcommand) + + +### GetLoopMode() + + +``` +int32_t OHOS::AVSession::AVControlCommand::GetLoopMode (int32_t & mode) const +``` +**描述:** +获取媒体循环模式。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| mode | 保存媒体循环模式。 取值在[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)的**LOOP_MODE_SEQUENCE**到**LOOP_MODE_SHUFFLE**之间。 | + +**参见:** + +[SetLoopMode](#setloopmode) + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### GetSeekTime() + + +``` +int32_t OHOS::AVSession::AVControlCommand::GetSeekTime (int64_t & time) const +``` +**描述:** +获取媒体跳播时间。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| time | 媒体资源的位置,从媒体资源开头开始计算,单位为ms。取值需大于等于0。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[SetSeekTime](#setseektime) + + +### GetSpeed() + + +``` +int32_t OHOS::AVSession::AVControlCommand::GetSpeed (double & speed) const +``` +**描述:** +获取媒体播放倍数 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| speed | 媒体播放倍数,返回值。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[SetSpeed](#setspeed) + + +### IsValid() + + +``` +bool OHOS::AVSession::AVControlCommand::IsValid () const +``` +**描述:** +判断当前指令是否在有效范围内。 + +**返回:** + +如果cmd_在有效范围内,范围在**SESSION_CMD_INVALID**到**SESSION_CMD_MAX**之间, 返回true;否则,返回false。 + + +### Marshalling() + + +``` +bool OHOS::AVSession::AVControlCommand::Marshalling (Parcel & parcel) const +``` +**描述:** +IPC通信数据序列化。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| parcel | 保存序列化值的对象**Parcel**。 | + +**返回:** + +成功返回true;否则,返回false。 + +**参见:** + +[Unmarshalling](#unmarshalling) + + +### SetAssetId() + + +``` +int32_t OHOS::AVSession::AVControlCommand::SetAssetId (const std::string & assetId) +``` +**描述:** +设置媒体id。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| assetId | 媒体id,不可为空。 | + +**参见:** + +[GetAssetId](#getassetid) + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### SetCommand() + + +``` +int32_t OHOS::AVSession::AVControlCommand::SetCommand (int32_t cmd) +``` +**描述:** +设置操作指令。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| cmd | 操作指令,范围在**SESSION_CMD_INVALID**到**SESSION_CMD_MAX**之间。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[GetCommand](#getcommand) + + +### SetLoopMode() + + +``` +int32_t OHOS::AVSession::AVControlCommand::SetLoopMode (int32_t mode) +``` +**描述:** +设置媒体循环模式。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| mode | 媒体循环模式, 取值在[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)的**LOOP_MODE_SEQUENCE**到**LOOP_MODE_SHUFFLE**之间。 | + +**参见:** + +[GetLoopMode](#getloopmode) + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### SetSeekTime() + + +``` +int32_t OHOS::AVSession::AVControlCommand::SetSeekTime (int64_t time) +``` +**描述:** +设置媒体跳播时间。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| time | 媒体资源的位置,从媒体资源开头开始计算,单位为ms。取值需大于等于0。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[GetSeekTime](#getseektime) + + +### SetSpeed() + + +``` +int32_t OHOS::AVSession::AVControlCommand::SetSpeed (double speed) +``` +**描述:** +设置媒体播放倍数。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| speed | 媒体播放倍数,需大于0。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[GetSpeed](#getspeed) + + +### Unmarshalling() + + +``` +static AVControlCommand* OHOS::AVSession::AVControlCommand::Unmarshalling (Parcel & data) +``` +**描述:** +IPC通信数据反序列化。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| data | 序列化对象**Parcel**。 | + +**返回:** + +返回AVControlCommand的函数指针。 + +**参见:** + +[Marshalling](#marshalling) + + +## 结构体成员变量说明 + + +### localCapability + + +``` +const std::vector OHOS::AVSession::AVControlCommand::localCapability +``` +**Value:** + +``` +{ + SESSION_CMD_PLAY, + SESSION_CMD_PAUSE, + SESSION_CMD_STOP, + SESSION_CMD_PLAY_NEXT, + SESSION_CMD_PLAY_PREVIOUS, + SESSION_CMD_FAST_FORWARD, + SESSION_CMD_REWIND, + SESSION_CMD_SEEK, + SESSION_CMD_SET_SPEED, + SESSION_CMD_SET_LOOP_MODE, + SESSION_CMD_TOGGLE_FAVORITE, + } +``` +**描述:** +命令数组,用于分布式业务,判断是否支持某个命令。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md new file mode 100644 index 0000000000000000000000000000000000000000..2300db5d2dbd054a9a1ae2386c1f509c1447ff07 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md @@ -0,0 +1,926 @@ +# OHOS::AVSession::AVMetaData + + +## 概述 + +会话元数据类,提供获取metadata进程间传递的序列化和反序列话及数据拷贝的接口方法。 + + +## 汇总 + + +### Public 类型 + + | 名称 | 描述 | +| -------- | -------- | +| {
**META_KEY_ASSET_ID** = 0, **META_KEY_TITLE** = 1, **META_KEY_ARTIST** = 2, **META_KEY_AUTHOR** = 3, **META_KEY_ALBUM** = 4, **META_KEY_WRITER** = 5, **META_KEY_COMPOSER** = 6, **META_KEY_DURATION** = 7, **META_KEY_MEDIA_IMAGE** = 8, **META_KEY_MEDIA_IMAGE_URI** = 9, **META_KEY_PUBLISH_DATE** = 10, **META_KEY_SUBTITLE** = 11, **META_KEY_DESCRIPTION** = 12, **META_KEY_LYRIC** = 13, **META_KEY_PREVIOUS_ASSET_ID** = 14, **META_KEY_NEXT_ASSET_ID** = 15, **META_KEY_MAX** = 16
} | 会话元数据具体枚举项。 | +| [MetaMaskType](#metamasktype) = std::bitset< META_KEY_MAX > | 引入掩码标记需要拷贝的会话元数据。 | + + +### Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [AVMetaData](#avmetadata) ()=default | 会话元数据默认构造函数。 | +| [~AVMetaData](#avmetadata) () override | 会话元数据默认析构函数。 | +| [Marshalling](#marshalling) (Parcel &data) const override | 实现会话元数据进程间传递的序列化。 | +| [SetAssetId](#setassetid) (const std::string &assetId) | 设置曲目ID。 | +| [GetAssetId](#getassetid) () const | 获取曲目ID。 | +| [SetTitle](#settitle) (const std::string &title) | 设置标题。 | +| [GetTitle](#gettitle) () const | 获取标题。 | +| [SetArtist](#setartist) (const std::string &artist) | 设置艺术家名称。 | +| [GetArtist](#getartist) () const | 获取艺术家名称。 | +| [SetAuthor](#setauthor) (const std::string &author) | 设置制作人名称。 | +| [GetAuthor](#getauthor) () const | 获取制作人名称。 | +| [SetAlbum](#setalbum) (const std::string &album) | 设置专辑名称。 | +| [GetAlbum](#getalbum) () const | 获取专辑名称。 | +| [SetWriter](#setwriter) (const std::string &writer) | 设置作词名称。 | +| [GetWriter](#getwriter) () const | 获取作词名称。 | +| [SetComposer](#setcomposer) (const std::string &composer) | 设置作曲名称。 | +| [GetComposer](#getcomposer) () const | 获取作曲名称。 | +| [SetDuration](#setduration) (int64_t duration) | 设置媒体时长。 | +| [GetDuration](#getduration) () const | 获取媒体时长。 | +| [SetMediaImage](#setmediaimage) (const std::shared_ptr< [AVSessionPixelMap](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md) > &mediaImage) | 设置媒体图片。 | +| [GetMediaImage](#getmediaimage) () const | 获取媒体图片。 | +| [SetMediaImageUri](#setmediaimageuri) (const std::string &mediaImageUri) | 设置媒体图片URI。 | +| [GetMediaImageUri](#getmediaimageuri) () const | 获取媒体图片URI。 | +| [SetPublishDate](#setpublishdate) (double date) | 设置曲目发布日期,时间戳,单位为ms。 | +| [GetPublishDate](#getpublishdate) () const | 获取曲目发布日期,时间戳,单位为ms。 | +| [SetSubTitle](#setsubtitle) (const std::string &subTitle) | 设置子标题。 | +| [GetSubTitle](#getsubtitle) () const | 获取子标题。 | +| [SetDescription](#setdescription) (const std::string &description) | 设置曲目描述。 | +| [GetDescription](#getdescription) () const | 获取曲目描述。 | +| [SetLyric](#setlyric) (const std::string &lyric) | 设置歌词。 | +| [GetLyric](#getlyric) () const | 获取歌词。 | +| [SetPreviousAssetId](#setpreviousassetid) (const std::string &assetId) | 设置上一曲曲目ID。 | +| [GetPreviousAssetId](#getpreviousassetid) () const | 获取上一曲曲目ID。 | +| [SetNextAssetId](#setnextassetid) (const std::string &assetId) | 设置下一曲曲目ID。 | +| [GetNextAssetId](#getnextassetid) () const | 获取下一曲曲目ID。 | +| [Reset](#reset) () | 重置所有会话元数据项。 | +| [GetMetaMask](#getmetamask) () const | 获取掩码。 | +| [CopyToByMask](#copytobymask) ([MetaMaskType](#metamasktype) &mask, AVMetaData &metaOut) const | 根据metadata掩码,将metadata项复制到metaOut。 | +| [CopyFrom](#copyfrom) (const AVMetaData &metaIn) | 根据metaIn元掩码的设置位从metaIn复制metadata项。 | +| [IsValid](#isvalid) () const | 会话元数据有效性判断。 | + + +### 静态 Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [Unmarshalling](#unmarshalling) (Parcel &data) | 实现会话元数据进程间传递的反序列化。 | + + +### 静态 Public 属性 + + | 名称 | 描述 | +| -------- | -------- | +| [DURATION_ALWAYS_PLAY](#duration_always_play) = -1 | 持续时间全局变量宏定义。 | +| [localCapability](#localcapability) | 会话元数据数组,用于分布式业务,设置会话属性。 | + + +## 成员类型定义说明 + + +### MetaMaskType + + +``` +using OHOS::AVSession::AVMetaData::MetaMaskType = std::bitset +``` +**描述:** +引入掩码标记需要拷贝的会话元数据。 + + +## 成员枚举类型说明 + + +### anonymous enum + + +``` +anonymous enum +``` +**描述:** +会话元数据具体枚举项。 + + | 枚举值 | 描述 | +| -------- | -------- | +| META_KEY_ASSET_ID | 曲目ID | +| META_KEY_TITLE | 标题 | +| META_KEY_ARTIST | 艺术家 | +| META_KEY_AUTHOR | 制作人 | +| META_KEY_ALBUM | 专辑 | +| META_KEY_WRITER | 作词 | +| META_KEY_COMPOSER | 作曲 | +| META_KEY_DURATION | 媒体时长 | +| META_KEY_MEDIA_IMAGE | 媒体影像 | +| META_KEY_MEDIA_IMAGE_URI | 媒体影像路径 | +| META_KEY_PUBLISH_DATE | 曲目发布日期 | +| META_KEY_SUBTITLE | 子标题 | +| META_KEY_DESCRIPTION | 曲目描述 | +| META_KEY_LYRIC | 歌词 | +| META_KEY_PREVIOUS_ASSET_ID | 上一曲 | +| META_KEY_NEXT_ASSET_ID | 下一曲 | +| META_KEY_MAX | 无效指令,内部用来判断会话元数据是否有效 | + + +## 构造及析构函数说明 + + +### AVMetaData() + + +``` +OHOS::AVSession::AVMetaData::AVMetaData () +``` +**描述:** +会话元数据默认构造函数。 + + +### ~AVMetaData() + + +``` +OHOS::AVSession::AVMetaData::~AVMetaData () +``` +**描述:** +会话元数据默认析构函数。 + + +## 成员函数说明 + + +### CopyFrom() + + +``` +bool OHOS::AVSession::AVMetaData::CopyFrom (const AVMetaData & metaIn) +``` +**描述:** +根据metaIn元掩码的设置位从metaIn复制metadata项。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| metaIn | 会话元数据将要拷贝的入参。| + + +### CopyToByMask() + + +``` +bool OHOS::AVSession::AVMetaData::CopyToByMask (MetaMaskType & mask, AVMetaData & metaOut ) const +``` +**描述:** +根据metadata掩码,将metadata项复制到metaOut。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| mask | metadata掩码[MetaMaskType](#metamasktype)。 | +| metaOut | metadata已拷贝成功的出参AVMetaData。 | + +**返回:** + +成功返回true;失败则返回false。 + + +### GetAlbum() + + +``` +std::string OHOS::AVSession::AVMetaData::GetAlbum () const +``` +**描述:** +获取专辑名称。 + +**返回:** + +返回专辑名称。 + +**参见:** + +[SetAlbum](#setalbum) + + +### GetArtist() + + +``` +std::string OHOS::AVSession::AVMetaData::GetArtist () const +``` +**描述:** +获取艺术家名称。 + +**返回:** + +返回艺术家名称。 + +**参见:** + +[SetArtist](#setartist) + + +### GetAssetId() + + +``` +std::string OHOS::AVSession::AVMetaData::GetAssetId () const +``` +**描述:** +获取曲目ID。 + +**返回:** + +返回曲目ID。 + +**参见:** + +[SetAssetId](#setassetid) + + +### GetAuthor() + + +``` +std::string OHOS::AVSession::AVMetaData::GetAuthor () const +``` +**描述:** +获取制作人名称。 + +**返回:** + +返回制作人名称。 + +**参见:** + +[SetAuthor](#setauthor) + + +### GetComposer() + + +``` +std::string OHOS::AVSession::AVMetaData::GetComposer () const +``` +**描述:** +获取作曲名称。 + +**返回:** + +返回作曲名称。 + +**参见:** + +[SetComposer](#setcomposer) + + +### GetDescription() + + +``` +std::string OHOS::AVSession::AVMetaData::GetDescription () const +``` +**描述:** +获取曲目描述。 + +**返回:** + +返回曲目描述。 + +**参见:** + +[SetDescription](#setdescription) + + +### GetDuration() + + +``` +int64_t OHOS::AVSession::AVMetaData::GetDuration () const +``` +**描述:** +获取媒体时长。 + +**返回:** + +返回媒体时长,单位为ms。 + +**参见:** + +[SetDuration](#setduration) + + +### GetLyric() + + +``` +std::string OHOS::AVSession::AVMetaData::GetLyric () const +``` +**描述:** +获取歌词。 + +**返回:** + +返回歌词。 + +**参见:** + +[SetLyric](#setlyric) + + +### GetMediaImage() + + +``` +std::shared_ptr OHOS::AVSession::AVMetaData::GetMediaImage () const +``` +**描述:** +获取媒体图片。 + +**返回:** + +返回媒体图片[AVSessionPixelMap](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md)。 + +**参见:** + +[SetMediaImage](#setmediaimage) + + +### GetMediaImageUri() + + +``` +std::string OHOS::AVSession::AVMetaData::GetMediaImageUri () const +``` +**描述:** +获取媒体图片URI。 + +**返回:** + +返回媒体图片URI。 + +**参见:** + +[SetMediaImageUri](#setmediaimageuri) + + +### GetMetaMask() + + +``` +MetaMaskType OHOS::AVSession::AVMetaData::GetMetaMask () const +``` +**描述:** +获取掩码。 + +**返回:** + +返回掩码[MetaMaskType](#metamasktype)。 + + +### GetNextAssetId() + + +``` +std::string OHOS::AVSession::AVMetaData::GetNextAssetId () const +``` +**描述:** +获取下一曲曲目ID。 + +**返回:** + +返回下一曲曲目ID。 + +**参见:** + +[SetNextAssetId](#setnextassetid) + + +### GetPreviousAssetId() + + +``` +std::string OHOS::AVSession::AVMetaData::GetPreviousAssetId () const +``` +**描述:** +获取上一曲曲目ID。 + +**返回:** + +返回上一曲曲目ID。 + +**参见:** + +[SetPreviousAssetId](#setpreviousassetid) + + +### GetPublishDate() + + +``` +double OHOS::AVSession::AVMetaData::GetPublishDate () const +``` +**描述:** +获取曲目发布日期,时间戳,单位为ms。 + +**返回:** + +返回曲目发布日期,时间戳,单位为ms。 + +**参见:** + +[SetPublishDate](#setpublishdate) + + +### GetSubTitle() + + +``` +std::string OHOS::AVSession::AVMetaData::GetSubTitle () const +``` +**描述:** +获取子标题。 + +**返回:** + +返回子标题。 + +**参见:** + +[SetSubTitle](#setsubtitle) + + +### GetTitle() + + +``` +std::string OHOS::AVSession::AVMetaData::GetTitle () const +``` +**描述:** +获取标题。 + +**返回:** + +返回标题。 + +**参见:** + +[SetTitle](#settitle) + + +### GetWriter() + + +``` +std::string OHOS::AVSession::AVMetaData::GetWriter () const +``` +**描述:** +获取作词名称。 + +**返回:** + +返回作词名称。 + +**参见:** + +[SetWriter](#setwriter) + + +### IsValid() + + +``` +bool OHOS::AVSession::AVMetaData::IsValid () const +``` +**描述:** +会话元数据有效性判断。 + +**返回:** + +有效返回true;无效则返回false。 + + +### Marshalling() + + +``` +bool OHOS::AVSession::AVMetaData::Marshalling (Parcel & data) const +``` +**描述:** +实现会话元数据进程间传递的序列化。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| data | 保存序列化值的对象**Parcel**。 | + +**返回:** + +如果序列化成功,则返回true;如果操作失败,则返回false。 + +**参见:** + +[Unmarshalling](#unmarshalling) + + +### Reset() + + +``` +void OHOS::AVSession::AVMetaData::Reset () +``` +**描述:** +重置所有会话元数据项。 + + +### SetAlbum() + + +``` +void OHOS::AVSession::AVMetaData::SetAlbum (const std::string & album) +``` +**描述:** +设置专辑名称。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| album | 专辑名称。 | + +**参见:** + +[GetAlbum](#getalbum) + + +### SetArtist() + + +``` +void OHOS::AVSession::AVMetaData::SetArtist (const std::string & artist) +``` +**描述:** +设置艺术家名称。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| artist | 艺术家名称。 | + +**参见:** + +[GetArtist](#getartist) + + +### SetAssetId() + + +``` +void OHOS::AVSession::AVMetaData::SetAssetId (const std::string & assetId) +``` +**描述:** +设置曲目ID。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| assetId | 曲目ID,不可为空。 | + +**参见:** + +[GetAssetId](#getassetid) + + +### SetAuthor() + + +``` +void OHOS::AVSession::AVMetaData::SetAuthor (const std::string & author) +``` +**描述:** +设置制作人名称。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| author | 制作人名称。 | + +**参见:** + +[GetArtist](#getartist) + + +### SetComposer() + + +``` +void OHOS::AVSession::AVMetaData::SetComposer (const std::string & composer) +``` +**描述:** +设置作曲名称。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| composer | 作曲名称。 | + +**参见:** + +[GetComposer](#getcomposer) + + +### SetDescription() + + +``` +void OHOS::AVSession::AVMetaData::SetDescription (const std::string & description) +``` +**描述:** +设置曲目描述。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| description | 曲目描述。 | + +**参见:** + +[GetDescription](#getdescription) + + +### SetDuration() + + +``` +void OHOS::AVSession::AVMetaData::SetDuration (int64_t duration) +``` +**描述:** +设置媒体时长。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| duration | 媒体时长,必须大于等于-1,单位为ms 。 | + +**参见:** + +[GetDuration](#getduration) + + +### SetLyric() + + +``` +void OHOS::AVSession::AVMetaData::SetLyric (const std::string & lyric) +``` +**描述:** +设置歌词。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| lyric | 歌词。 | + +**参见:** + +[GetLyric](#getlyric) + + +### SetMediaImage() + + +``` +void OHOS::AVSession::AVMetaData::SetMediaImage (const std::shared_ptr< AVSessionPixelMap > & mediaImage) +``` +**描述:** +设置媒体图片。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| mediaImage | 媒体图片[AVSessionPixelMap](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md)。 | + +**参见:** + +[GetMediaImage](#getmediaimage) + + +### SetMediaImageUri() + + +``` +void OHOS::AVSession::AVMetaData::SetMediaImageUri (const std::string & mediaImageUri) +``` +**描述:** +设置媒体图片URI。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| mediaImageUri | 媒体图片URI。 | + +**参见:** + +[GetMediaImageUri](#getmediaimageuri) + + +### SetNextAssetId() + + +``` +void OHOS::AVSession::AVMetaData::SetNextAssetId (const std::string & assetId) +``` +**描述:** +设置下一曲曲目ID。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| assetId | 下一曲曲目ID。 | + +**参见:** + +[GetNextAssetId](#getnextassetid) + + +### SetPreviousAssetId() + + +``` +void OHOS::AVSession::AVMetaData::SetPreviousAssetId (const std::string & assetId) +``` +**描述:** +设置上一曲曲目ID。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| assetId | 上一曲曲目ID。 | + +**参见:** + +[GetPreviousAssetId](#getpreviousassetid) + + +### SetPublishDate() + + +``` +void OHOS::AVSession::AVMetaData::SetPublishDate (double date) +``` +**描述:** +设置曲目发布日期,时间戳,单位为ms。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| date | 曲目发布日期,时间戳,单位为ms。 | + +**参见:** + +[GetPublishDate](#getpublishdate) + + +### SetSubTitle() + + +``` +void OHOS::AVSession::AVMetaData::SetSubTitle (const std::string & subTitle) +``` +**描述:** +设置子标题。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| subTitle | 子标题。 | + +**参见:** + +[GetSubTitle](#getsubtitle) + + +### SetTitle() + + +``` +void OHOS::AVSession::AVMetaData::SetTitle (const std::string & title) +``` +**描述:** +设置标题。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| title | 标题。 | + +**参见:** + +[GetTitle](#gettitle) + + +### SetWriter() + + +``` +void OHOS::AVSession::AVMetaData::SetWriter (const std::string & writer) +``` +**描述:** +设置作词名称。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| writer | 作词名称。 | + +**参见:** + +[GetWriter](#getwriter) + + +### Unmarshalling() + + +``` +static AVMetaData* OHOS::AVSession::AVMetaData::Unmarshalling (Parcel & data) +``` +**描述:** +实现会话元数据进程间传递的反序列化。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| data | 序列化对象**Parcel**。 | + +**返回:** + +如果反序列化成功,返回AVMetaData类型指针;失败则返回nullptr。 + +**参见:** + +[Marshalling](#marshalling) + + +## 结构体成员变量说明 + + +### DURATION_ALWAYS_PLAY + + +``` +constexpr std::int64_t OHOS::AVSession::AVMetaData::DURATION_ALWAYS_PLAY = -1 +``` +**描述:** +持续时间全局变量宏定义。 + + +### localCapability + + +``` +const std::vector OHOS::AVSession::AVMetaData::localCapability +``` +**Value:** + +``` +{ + META_KEY_ASSET_ID, + META_KEY_TITLE, + META_KEY_ARTIST, + META_KEY_AUTHOR, + META_KEY_ALBUM, + META_KEY_WRITER, + META_KEY_COMPOSER, + META_KEY_DURATION, + META_KEY_MEDIA_IMAGE, + META_KEY_MEDIA_IMAGE_URI, + META_KEY_PUBLISH_DATE, + META_KEY_SUBTITLE, + META_KEY_DESCRIPTION, + META_KEY_LYRIC, + META_KEY_PREVIOUS_ASSET_ID, + META_KEY_NEXT_ASSET_ID, + } +``` +**描述:** +会话元数据数组,用于分布式业务,设置会话属性。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md new file mode 100644 index 0000000000000000000000000000000000000000..8183b4b57c655174ae3ae217f72a88bec45020c1 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md @@ -0,0 +1,502 @@ +# OHOS::AVSession::AVPlaybackState + + +## 概述 + +音视频播放状态类,提供获取和设置播放界面的信息。 + + +## 汇总 + + +### 结构体 + + | 名称 | 描述 | +| -------- | -------- | +| [Position](_1_a_v_session_1_1_a_v_playback_state_1_1_position.md) | struct
播放位置的相关信息。 | + + +### Public 类型 + + | 名称 | 描述 | +| -------- | -------- | +| {
**PLAYBACK_STATE_INITIAL** = 0, **PLAYBACK_STATE_PREPARING** = 1, **PLAYBACK_STATE_PLAYING** = 2, **PLAYBACK_STATE_PAUSED** = 3, **PLAYBACK_STATE_FAST_FORWARD** = 4, **PLAYBACK_STATE_REWIND** = 5, **PLAYBACK_STATE_STOP** = 6, **PLAYBACK_STATE_MAX** = 7
} | 描述播放状态的枚举。 | +| {
**PLAYBACK_KEY_STATE** = 0, **PLAYBACK_KEY_SPEED** = 1, **PLAYBACK_KEY_POSITION** = 2, **PLAYBACK_KEY_BUFFERED_TIME** = 3, **PLAYBACK_KEY_LOOP_MODE** = 4, **PLAYBACK_KEY_IS_FAVORITE** = 5, **PLAYBACK_KEY_MAX** = 6
} | 播放界面信息的枚举。 | +| { **LOOP_MODE_SEQUENCE** = 0, **LOOP_MODE_SINGLE** = 1, **LOOP_MODE_LIST** = 2, **LOOP_MODE_SHUFFLE** = 3 } | 循环模式的枚举。 | +| **PlaybackStateMaskType** = std::bitset< PLAYBACK_KEY_MAX > | | + + +### Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [Marshalling](#marshalling) (Parcel &parcel) const override | IPC通信数据序列化。 | +| [IsValid](#isvalid) () const | 验证当前信息的有效性。 | +| [SetState](#setstate) (int32_t state) | 设置音视频的播放状态。 | +| [GetState](#getstate) () const | 获取当前音视频的播放状态。 | +| [SetSpeed](#setspeed) (double speed) | 设置播放倍速。 | +| [GetSpeed](#getspeed) () const | 获取当前播放倍速。 | +| [SetPosition](#setposition) (const [Position](_1_a_v_session_1_1_a_v_playback_state_1_1_position.md) &position) | 设置播放位置,通过更新时间与经过时间来计算,单位ms。 | +| [GetPosition](#getposition) () const | 获取播放位置。 | +| [SetBufferedTime](#setbufferedtime) (int64_t time) | 设置缓冲时间,单位为ms。 | +| [GetBufferedTime](#getbufferedtime) () const | 获取当前缓冲时间,单位为ms。 | +| [SetLoopMode](#setloopmode) (int32_t mode) | 设置循环模式。 | +| [GetLoopMode](#getloopmode) () const | 获取当前循环模式。 | +| [SetFavorite](#setfavorite) (bool isFavorite) | 设置是否收藏。 | +| [GetFavorite](#getfavorite) () const | 获取是否收藏。 | +| [GetMask](#getmask) () const | 获取掩码。 | + + +### 静态 Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [Unmarshalling](#unmarshalling) (Parcel &parcel) | IPC通信数据反序列化。 | +| [localCapability](#localcapability) | 内联函数指针数组AVPlaybackState,用于分布式业务,设置播放界面信息。 | +| [CopyToByMask](#copytobymask) (PlaybackStateMaskType &mask, AVPlaybackState &out) const | 通过掩码拷贝信息到新的AVPlaybackState对象。 | +| [CopyFrom](#copyfrom) (const AVPlaybackState &in) | 根据当前对象的mask_掩码,将输入的AVPlaybackState类型的信息复制到当前对象。 | + + +## 成员枚举类型说明 + + +### anonymous enum + + +``` +anonymous enum +``` +**描述:** +描述播放状态的枚举。 + + | 枚举值 | 描述 | +| -------- | -------- | +| PLAYBACK_STATE_INITIAL | 初始状态 | +| PLAYBACK_STATE_PREPARING | 缓冲状态 | +| PLAYBACK_STATE_PLAYING | 播放状态 | +| PLAYBACK_STATE_PAUSED | 暂停状态 | +| PLAYBACK_STATE_FAST_FORWARD | 快进状态 | +| PLAYBACK_STATE_REWIND | 快退状态 | +| PLAYBACK_STATE_STOP | 停止状态 | +| PLAYBACK_STATE_MAX | 无效类型,内部用于判断状态是否有效 | + + +### anonymous enum + + +``` +anonymous enum +``` +**描述:** +播放界面信息的枚举。 + + | 枚举值 | 描述 | +| -------- | -------- | +| PLAYBACK_KEY_STATE | 播放状态,包括正在播放、暂停、快进等 | +| PLAYBACK_KEY_SPEED | 播放倍数 | +| PLAYBACK_KEY_POSITION | 播放位置 | +| PLAYBACK_KEY_BUFFERED_TIME | 缓冲时间 | +| PLAYBACK_KEY_LOOP_MODE | 循环模式 | +| PLAYBACK_KEY_IS_FAVORITE | 设置喜欢(收藏) | +| PLAYBACK_KEY_MAX | 无效类型,内部用于判断key是否有效 | + + +### anonymous enum + + +``` +anonymous enum +``` +**描述:** +循环模式的枚举。 + + | 枚举值 | 描述 | +| -------- | -------- | +| LOOP_MODE_SEQUENCE | 顺序播放 | +| LOOP_MODE_SINGLE | 单曲循环 | +| LOOP_MODE_LIST | 列表循环 | +| LOOP_MODE_SHUFFLE | 随机播放 | + + +## 成员函数说明 + + +### CopyFrom() + + +``` +bool OHOS::AVSession::AVPlaybackState::CopyFrom (const AVPlaybackState & in) +``` +**描述:** +根据当前对象的mask_掩码,将输入的AVPlaybackState类型的信息复制到当前对象。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| in | AVPlaybackState类型。 | + +**返回:** + +如果有至少一个播放界面信息被拷贝,返回true;如果一个播放界面信息都没有被拷贝,返回false。 + +**参见:** + +[CopyToByMask](#copytobymask) + +[GetMask](#getmask) + + +### CopyToByMask() + + +``` +bool OHOS::AVSession::AVPlaybackState::CopyToByMask (PlaybackStateMaskType & mask, AVPlaybackState & out ) const +``` +**描述:** +通过掩码拷贝信息到新的AVPlaybackState对象。 + +mask对应位上有值的对象拷贝给out。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| mask | 输入的掩码**}。 out 输出的音视频的播放状态 AVPlaybackState}。 如果有至少一个播放界面信息被拷贝,返回true;如果一个播放界面信息都没有被拷贝,返回false。 CopyFrom 9 1.0 ** | + + +### GetBufferedTime() + + +``` +int64_t OHOS::AVSession::AVPlaybackState::GetBufferedTime () const +``` +**描述:** +获取当前缓冲时间,单位为ms。 + +**返回:** + +返回缓冲时间。 + +**参见:** + +[SetBufferedTime](#setbufferedtime) + + +### GetFavorite() + + +``` +bool OHOS::AVSession::AVPlaybackState::GetFavorite () const +``` +**描述:** +获取是否收藏。 + +**返回:** + +是否收藏,是则返回true,否则返回false。 + +**参见:** + +[SetFavorite](#setfavorite) + + +### GetLoopMode() + + +``` +int32_t OHOS::AVSession::AVPlaybackState::GetLoopMode () const +``` +**描述:** +获取当前循环模式。 + +**返回:** + +返回循环模式,范围**LOOP_MODE_SEQUENCE**到**LOOP_MODE_SHUFFLE**之间。 + +**参见:** + +[SetLoopMode](#setloopmode) + + +### GetMask() + + +``` +PlaybackStateMaskType OHOS::AVSession::AVPlaybackState::GetMask () const +``` +**描述:** +获取掩码。 + +**返回:** + +返回播放界面信息的掩码**PlaybackStateMaskType**。 + +**参见:** + +[CopyFrom](#copyfrom) + + +### GetPosition() + + +``` +Position OHOS::AVSession::AVPlaybackState::GetPosition () const +``` +**描述:** +获取播放位置。 + +**返回:** + +返回播放位置[Position](_1_a_v_session_1_1_a_v_playback_state_1_1_position.md)。 + +**参见:** + +[SetPosition](#setposition) + + +### GetSpeed() + + +``` +double OHOS::AVSession::AVPlaybackState::GetSpeed () const +``` +**描述:** +获取当前播放倍速。 + +**返回:** + +返回当前播放倍速。 + +**参见:** + +[SetSpeed](#setspeed) + + +### GetState() + + +``` +int32_t OHOS::AVSession::AVPlaybackState::GetState () const +``` +**描述:** +获取当前音视频的播放状态。 + +**返回:** + +返回当前音视频的播放状态,范围**PLAYBACK_STATE_INITIAL**到**PLAYBACK_STATE_MAX**之间。 + +**参见:** + +[SetState](#setstate) + + +### IsValid() + + +``` +bool OHOS::AVSession::AVPlaybackState::IsValid () const +``` +**描述:** +验证当前信息的有效性。 + +**返回:** + +有效返回true;无效则返回false。 + + +### Marshalling() + + +``` +bool OHOS::AVSession::AVPlaybackState::Marshalling (Parcel & parcel) const +``` +**描述:** +IPC通信数据序列化。 + +将AVPlaybackState类型的信息,序列化为**Parcel**类型的信息,用来进行IPC通信。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| parcel | 保存序列化值的对象**Parcel**。 | + +**返回:** + +成功返回true;失败返回false。 + +**参见:** + +[Unmarshalling](#unmarshalling) + + +### SetBufferedTime() + + +``` +void OHOS::AVSession::AVPlaybackState::SetBufferedTime (int64_t time) +``` +**描述:** +设置缓冲时间,单位为ms。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| time | 缓冲时间。 | + +**参见:** + +[GetBufferedTime](#getbufferedtime) + + +### SetFavorite() + + +``` +void OHOS::AVSession::AVPlaybackState::SetFavorite (bool isFavorite) +``` +**描述:** +设置是否收藏。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| isFavorite | 是否收藏,是则为true,否则false。 | + +**参见:** + +[GetFavorite](#getfavorite) + + +### SetLoopMode() + + +``` +void OHOS::AVSession::AVPlaybackState::SetLoopMode (int32_t mode) +``` +**描述:** +设置循环模式。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| mode | 循环模式,范围**LOOP_MODE_SEQUENCE**到**LOOP_MODE_SHUFFLE**之间。 | + +**参见:** + +[GetLoopMode](#getloopmode) + + +### SetPosition() + + +``` +void OHOS::AVSession::AVPlaybackState::SetPosition (const Position & position) +``` +**描述:** +设置播放位置,通过更新时间与经过时间来计算,单位ms。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| position | 播放位置[Position](_1_a_v_session_1_1_a_v_playback_state_1_1_position.md)。 | + +**参见:** + +[GetPosition](#getposition) + + +### SetSpeed() + + +``` +void OHOS::AVSession::AVPlaybackState::SetSpeed (double speed) +``` +**描述:** +设置播放倍速。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| speed | 播放倍速。 | + +**参见:** + +[SetSpeed](#setspeed) + + +### SetState() + + +``` +void OHOS::AVSession::AVPlaybackState::SetState (int32_t state) +``` +**描述:** +设置音视频的播放状态。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| state | 音视频的播放状态,范围**PLAYBACK_STATE_INITIAL**到**PLAYBACK_STATE_MAX**之间。 | + +**参见:** + +[GetState](#getstate) + + +### Unmarshalling() + + +``` +static AVPlaybackState* OHOS::AVSession::AVPlaybackState::Unmarshalling (Parcel & parcel) +``` +**描述:** +IPC通信数据反序列化。 + +将通过IPC接收的**Parcel**类型的信息,反序列化为AVPlaybackState类型的信息。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| parcel | 序列化对象**Parcel**。 | + +**返回:** + +如果反序列化成功,则返回AVPlaybackState对象; 如果反序列化失败,则返回nullptr。 + +**参见:** + +[Marshalling](#marshalling) + + +## 结构体成员变量说明 + + +### localCapability + + +``` +const std::vector OHOS::AVSession::AVPlaybackState::localCapability +``` +**Value:** + +``` +{ + PLAYBACK_KEY_STATE, + PLAYBACK_KEY_SPEED, + PLAYBACK_KEY_POSITION, + PLAYBACK_KEY_BUFFERED_TIME, + PLAYBACK_KEY_LOOP_MODE, + PLAYBACK_KEY_IS_FAVORITE, + } +``` +**描述:** +内联函数指针数组AVPlaybackState,用于分布式业务,设置播放界面信息。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md new file mode 100644 index 0000000000000000000000000000000000000000..342eada497e7763e0364121dd6feece15889fa08 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md @@ -0,0 +1,346 @@ +# OHOS::AVSession::AVSession + + +## 概述 + +会话对象,支持配置会话属性,并可主动更新播放状态和会话元数据。 + + +## 汇总 + + +### Public 类型 + + | 名称 | 描述 | +| -------- | -------- | +| { **SESSION_TYPE_INVALID** = -1, **SESSION_TYPE_AUDIO** = 0, **SESSION_TYPE_VIDEO** = 1 } | 会话类型的枚举。 | + + +### Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [GetSessionId](#getsessionid) ()=0 | 获取会话的标识。 | +| [GetAVMetaData](#getavmetadata) ([AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md) &meta)=0 | 获取会话元数据。 | +| [SetAVMetaData](#setavmetadata) (const [AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md) &meta)=0 | 设置会话元数据。 | +| [GetAVPlaybackState](#getavplaybackstate) ([AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md) &state)=0 | 获取音视频的播放状态。 | +| [SetAVPlaybackState](#setavplaybackstate) (const [AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md) &state)=0 | 设置音视频的播放状态。 | +| [SetLaunchAbility](#setlaunchability) (const AbilityRuntime::WantAgent::WantAgent &ability)=0 | 设置一个WantAgent用于启动会话的Ability。 | +| [GetController](#getcontroller) ()=0 | 获取会话控制器。 | +| [RegisterCallback](#registercallback) (const std::shared_ptr< [AVSessionCallback](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md) > &callback)=0 | 注册会话回调。 | +| [Activate](#activate) ()=0 | 激活会话。 | +| [Deactivate](#deactivate) ()=0 | 去激活会话。 | +| [IsActive](#isactive) ()=0 | 获取会话是否被激活。 | +| [Destroy](#destroy) ()=0 | 销毁会话。 | +| [AddSupportCommand](#addsupportcommand) (const int32_t cmd)=0 | 添加支持的控制命令。 | +| [DeleteSupportCommand](#deletesupportcommand) (const int32_t cmd)=0 | 删除支持的控制命令。 | + + +## 成员枚举类型说明 + + +### anonymous enum + + +``` +anonymous enum +``` +**描述:** +会话类型的枚举。 + + | 枚举值 | 描述 | +| -------- | -------- | +| SESSION_TYPE_INVALID | 无效会话 | +| SESSION_TYPE_AUDIO | 音频会话 | +| SESSION_TYPE_VIDEO | 视频会话 | + + +## 成员函数说明 + + +### Activate() + + +``` +virtual int32_t OHOS::AVSession::AVSession::Activate () +``` +**描述:** +激活会话。 + +激活成功后,会话才可以接收控制指令。 + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[Deactivate](#deactivate) + +[IsActive](#isactive) + + +### AddSupportCommand() + + +``` +virtual int32_t OHOS::AVSession::AVSession::AddSupportCommand (const int32_t cmd) +``` +**描述:** +添加支持的控制命令。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| cmd | 待添加的控制命令,范围为**SESSION_CMD_INVALID**到**SESSION_CMD_MAX**。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### Deactivate() + + +``` +virtual int32_t OHOS::AVSession::AVSession::Deactivate () +``` +**描述:** +去激活会话。 + +去激活成功后,表示会话还不能接收控制指令。 + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[Activate](#activate) + +[IsActive](#isactive) + + +### DeleteSupportCommand() + + +``` +virtual int32_t OHOS::AVSession::AVSession::DeleteSupportCommand (const int32_t cmd) +``` +**描述:** +删除支持的控制命令。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| cmd | 待删除的控制命令,范围为**SESSION_CMD_INVALID**到**SESSION_CMD_MAX**。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### Destroy() + + +``` +virtual int32_t OHOS::AVSession::AVSession::Destroy () +``` +**描述:** +销毁会话。 + +如果应用要创建一个新会话,必须要销毁之前的会话,否则会创建失败。 + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### GetAVMetaData() + + +``` +virtual int32_t OHOS::AVSession::AVSession::GetAVMetaData (AVMetaData & meta) +``` +**描述:** +获取会话元数据。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| meta | 用于保存会话的元数据[AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md)对象。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[SetAVMetaData](#setavmetadata) + + +### GetAVPlaybackState() + + +``` +virtual int32_t OHOS::AVSession::AVSession::GetAVPlaybackState (AVPlaybackState & state) +``` +**描述:** +获取音视频的播放状态。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| state | 用于保存播放状态的[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)对象。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[SetAVPlaybackState](#setavplaybackstate) + + +### GetController() + + +``` +virtual std::shared_ptr OHOS::AVSession::AVSession::GetController () +``` +**描述:** +获取会话控制器。 + +**返回:** + +返回会话控制器,[AVSessionController](o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md)类型智能指针。 + + +### GetSessionId() + + +``` +virtual std::string OHOS::AVSession::AVSession::GetSessionId () +``` +**描述:** +获取会话的标识。 + +**返回:** + +返回会话的标识。 + + +### IsActive() + + +``` +virtual bool OHOS::AVSession::AVSession::IsActive () +``` +**描述:** +获取会话是否被激活。 + +**返回:** + +如果是激活状态,则返回true;否则返回false。 + +**参见:** + +[Activate](#activate) + +[Deactivate](#deactivate) + + +### RegisterCallback() + + +``` +virtual int32_t OHOS::AVSession::AVSession::RegisterCallback (const std::shared_ptr< AVSessionCallback > & callback) +``` +**描述:** +注册会话回调。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| callback | 用于注册会话回调的[AVSessionCallback](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md)对象。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### SetAVMetaData() + + +``` +virtual int32_t OHOS::AVSession::AVSession::SetAVMetaData (const AVMetaData & meta) +``` +**描述:** +设置会话元数据。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| meta | 用于修改会话的元数据[AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md)对象。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[GetAVMetaData](#getavmetadata) + + +### SetAVPlaybackState() + + +``` +virtual int32_t OHOS::AVSession::AVSession::SetAVPlaybackState (const AVPlaybackState & state) +``` +**描述:** +设置音视频的播放状态。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| state | 用于修改播放状态的[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)对象。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[GetAVPlaybackState](#getavplaybackstate) + + +### SetLaunchAbility() + + +``` +virtual int32_t OHOS::AVSession::AVSession::SetLaunchAbility (const AbilityRuntime::WantAgent::WantAgent & ability) +``` +**描述:** +设置一个WantAgent用于启动会话的Ability。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| ability | 具体的应用对应的能力,类型为**AbilityRuntime::WantAgent::WantAgent**。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[AVSessionController::GetLaunchAbility](o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md#getlaunchability) diff --git a/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md new file mode 100644 index 0000000000000000000000000000000000000000..334288527bd6ac67f8a8d1cdc177ee97cac1a4c2 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md @@ -0,0 +1,217 @@ +# OHOS::AVSession::AVSessionCallback + + +## 概述 + +定义AVSession回调类的实现 + +**Since:** +9 +**Version:** +1.0 + +## 汇总 + + +### Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [OnPlay](#onplay) ()=0 | AVSession多媒体播放的抽象的回调方法。 | +| [OnPause](#onpause) ()=0 | AVSession多媒体播放暂停的抽象的回调方法。 | +| [OnStop](#onstop) ()=0 | AVSession多媒体播放停止的抽象的回调方法。 | +| [OnPlayNext](#onplaynext) ()=0 | AVSession播放下一首多媒体的抽象的回调方法。 | +| [OnPlayPrevious](#onplayprevious) ()=0 | AVSession播放上一首多媒体的抽象的回调方法。 | +| [OnFastForward](#onfastforward) ()=0 | AVSession快进播放多媒体的抽象的回调方法。 | +| [OnRewind](#onrewind) ()=0 | AVSession多媒体快退的抽象的回调方法。 | +| [OnSeek](#onseek) (int64_t time)=0 | AVSession多媒体跳播操作的抽象的回调方法。 | +| [OnSetSpeed](#onsetspeed) (double speed)=0 | AVSession设置多媒体倍速播放操作的抽象的回调方法。 | +| [OnSetLoopMode](#onsetloopmode) (int32_t loopMode)=0 | AVSession设置多媒体循环播放模式的抽象的回调方法。 | +| [OnToggleFavorite](#ontogglefavorite) (const std::string &mediald)=0 | AVSession设置多媒体切换收藏操作的抽象的回调方法。 | +| [OnMediaKeyEvent](#onmediakeyevent) (const MMI::KeyEvent &keyEvent)=0 | AVSession多媒体按键事件处理的抽象的回调方法。 | +| [OnOutputDeviceChange](#onoutputdevicechange) (const [OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md) &outputDeviceInfo)=0 | 注册会话输出设备变更监听。 | +| [~AVSessionCallback](#avsessioncallback) ()=default | AVSessionCallback的默认的析构函数。 | + + +## 构造及析构函数说明 + + +### ~AVSessionCallback() + + +``` +virtual OHOS::AVSession::AVSessionCallback::~AVSessionCallback () +``` +**描述:** +AVSessionCallback的默认的析构函数。 + + +## 成员函数说明 + + +### OnFastForward() + + +``` +virtual void OHOS::AVSession::AVSessionCallback::OnFastForward () +``` +**描述:** +AVSession快进播放多媒体的抽象的回调方法。 + + +### OnMediaKeyEvent() + + +``` +virtual void OHOS::AVSession::AVSessionCallback::OnMediaKeyEvent (const MMI::KeyEvent & keyEvent) +``` +**描述:** +AVSession多媒体按键事件处理的抽象的回调方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| keyEvent | 按键事件码,类型为**MMI::KeyEvent**。 | + + +### OnOutputDeviceChange() + + +``` +virtual void OHOS::AVSession::AVSessionCallback::OnOutputDeviceChange (const OutputDeviceInfo & outputDeviceInfo) +``` +**描述:** +注册会话输出设备变更监听。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| outputDeviceInfo | 输出设备信息 [OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md)。 | + + +### OnPause() + + +``` +virtual void OHOS::AVSession::AVSessionCallback::OnPause () +``` +**描述:** +AVSession多媒体播放暂停的抽象的回调方法。 + + +### OnPlay() + + +``` +virtual void OHOS::AVSession::AVSessionCallback::OnPlay () +``` +**描述:** +AVSession多媒体播放的抽象的回调方法。 + + +### OnPlayNext() + + +``` +virtual void OHOS::AVSession::AVSessionCallback::OnPlayNext () +``` +**描述:** +AVSession播放下一首多媒体的抽象的回调方法。 + + +### OnPlayPrevious() + + +``` +virtual void OHOS::AVSession::AVSessionCallback::OnPlayPrevious () +``` +**描述:** +AVSession播放上一首多媒体的抽象的回调方法。 + + +### OnRewind() + + +``` +virtual void OHOS::AVSession::AVSessionCallback::OnRewind () +``` +**描述:** +AVSession多媒体快退的抽象的回调方法。 + + +### OnSeek() + + +``` +virtual void OHOS::AVSession::AVSessionCallback::OnSeek (int64_t time) +``` +**描述:** +AVSession多媒体跳播操作的抽象的回调方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| time | 媒体资源的位置,从媒体资源开头开始计算,单位为ms。取值需大于等于0。 | + + +### OnSetLoopMode() + + +``` +virtual void OHOS::AVSession::AVSessionCallback::OnSetLoopMode (int32_t loopMode) +``` +**描述:** +AVSession设置多媒体循环播放模式的抽象的回调方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| loopMode | 多媒体循环播放模式, 范围在[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)的**LOOP_MODE_SEQUENCE**到**LOOP_MODE_SHUFFLE**之间。 | + + +### OnSetSpeed() + + +``` +virtual void OHOS::AVSession::AVSessionCallback::OnSetSpeed (double speed) +``` +**描述:** +AVSession设置多媒体倍速播放操作的抽象的回调方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| speed | 多媒体播放的倍速值。 | + + +### OnStop() + + +``` +virtual void OHOS::AVSession::AVSessionCallback::OnStop () +``` +**描述:** +AVSession多媒体播放停止的抽象的回调方法。 + + +### OnToggleFavorite() + + +``` +virtual void OHOS::AVSession::AVSessionCallback::OnToggleFavorite (const std::string & mediald) +``` +**描述:** +AVSession设置多媒体切换收藏操作的抽象的回调方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| mediald | 多媒体ID号标识。 | + + diff --git a/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md new file mode 100644 index 0000000000000000000000000000000000000000..b4c12aae829b192c2aec8b33945870e831887c2f --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md @@ -0,0 +1,302 @@ +# OHOS::AVSession::AVSessionManager + + +## 概述 + +实现会话管理器对外接口功能的类的实现。 + +**Since:** +9 +**Version:** +1.0 + +## 汇总 + + +### Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [CreateSession](#createsession) (const std::string &tag, int32_t type, const AppExecFwk::ElementName &elementName)=0 | 创建AVSession会话的接口方法。 | +| [GetAllSessionDescriptors](#getallsessiondescriptors) (std::vector< [AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) > &descriptors)=0 | 获取AVSession全部的会话描述的接口方法。 | +| [GetActivatedSessionDescriptors](#getactivatedsessiondescriptors) (std::vector< [AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) > &activatedSessions)=0 | 获取AVSession全部处于活动状态的会话描述的接口方法。 | +| [GetSessionDescriptorsBySessionId](#getsessiondescriptorsbysessionid) (const std::string &sessionId, [AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) &descriptor)=0 | 通过会话ID获得会话描述的方法。 | +| [CreateController](#createcontroller) (const std::string &sessionId, std::shared_ptr< [AVSessionController](o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md) > &controller)=0 | 创建AVSession会话控制器的接口方法。 | +| [RegisterSessionListener](#registersessionlistener) (const std::shared_ptr< [SessionListener](_o_h_o_s_1_1_a_v_session_1_1_session_listener.md) > &listener)=0 | 注册AVSession会话监听器的接口方法。 | +| [RegisterServiceDeathCallback](#registerservicedeathcallback) (const [DeathCallback](avsession__info_8h.md#deathcallback) &callback)=0 | 注册AVSession服务器的死亡回调的接口方法。 | +| [UnregisterServiceDeathCallback](#unregisterservicedeathcallback) ()=0 | 注销AVSession服务器的死亡回调的接口方法。 | +| [SendSystemAVKeyEvent](#sendsystemavkeyevent) (const MMI::KeyEvent &keyEvent)=0 | 发送系统按键事件的接口方法。 | +| [SendSystemControlCommand](#sendsystemcontrolcommand) (const [AVControlCommand](_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md) &command)=0 | 发送系统控制命令的接口方法。 | +| [CastAudio](#castaudio) (const [SessionToken](_o_h_o_s_1_1_a_v_session_1_1_session_token.md) &token, const std::vector< AudioStandard::AudioDeviceDescriptor > &descriptors)=0 | 将媒体会话投射到远程设备或投射回本地设备。 | +| [CastAudioForAll](#castaudioforall) (const std::vector< AudioStandard::AudioDeviceDescriptor > &descriptors)=0 | 将此设备的所有媒体会话投播到远程设备。 | + + +### 静态 Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [GetInstance](#getinstance) () | 获取会话管理器实例。 | + + +## 成员函数说明 + + +### CastAudio() + + +``` +virtual int32_t OHOS::AVSession::AVSessionManager::CastAudio (const SessionToken & token, const std::vector< AudioStandard::AudioDeviceDescriptor > & descriptors ) +``` +**描述:** +将媒体会话投射到远程设备或投射回本地设备。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| token | 需要投播的会话令牌。 | +| descriptors | 指定要转换的音频设备。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### CastAudioForAll() + + +``` +virtual int32_t OHOS::AVSession::AVSessionManager::CastAudioForAll (const std::vector< AudioStandard::AudioDeviceDescriptor > & descriptors) +``` +**描述:** +将此设备的所有媒体会话投播到远程设备。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| descriptors | 指定要转换的音频设备。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### CreateController() + + +``` +virtual int32_t OHOS::AVSession::AVSessionManager::CreateController (const std::string & sessionId, std::shared_ptr< AVSessionController > & controller ) +``` +**描述:** +创建AVSession会话控制器的接口方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| sessionId | AVSession的会话ID。 | +| controller | 会话控制器实例,类型为[AVSessionController](o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md)。 | + +**返回:** + +返回成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### CreateSession() + + +``` +virtual std::shared_ptr OHOS::AVSession::AVSessionManager::CreateSession (const std::string & tag, int32_t type, const AppExecFwk::ElementName & elementName ) +``` +**描述:** +创建AVSession会话的接口方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| tag | AVSession的会话标签,不可为空。 | +| type | AVSession的会话类型, 入参为[AVSession](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md)的**SESSION_TYPE_AUDIO**,**SESSION_TYPE_VIDEO**。 | +| elementName | AVSession的会话名称**AppExecFwk::ElementName**。 | + +**返回:** + +返回已创建的会话对象的智能指针。 + + +### GetActivatedSessionDescriptors() + + +``` +virtual int32_t OHOS::AVSession::AVSessionManager::GetActivatedSessionDescriptors (std::vector< AVSessionDescriptor > & activatedSessions) +``` +**描述:** +获取AVSession全部处于活动状态的会话描述的接口方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| activatedSessions | 处于活动状态的会话描述,类型为[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### GetAllSessionDescriptors() + + +``` +virtual int32_t OHOS::AVSession::AVSessionManager::GetAllSessionDescriptors (std::vector< AVSessionDescriptor > & descriptors) +``` +**描述:** +获取AVSession全部的会话描述的接口方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| descriptors | AVSession的会话描述,类型为[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### GetInstance() + + +``` +static AVSessionManager& OHOS::AVSession::AVSessionManager::GetInstance () +``` +**描述:** +获取会话管理器实例。 + +**返回:** + +返回会话管理器实例。 + + +### GetSessionDescriptorsBySessionId() + + +``` +virtual int32_t OHOS::AVSession::AVSessionManager::GetSessionDescriptorsBySessionId (const std::string & sessionId, AVSessionDescriptor & descriptor ) +``` +**描述:** +通过会话ID获得会话描述的方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| sessionId | AVSession的会话标签。 | +| descriptor | AVSession的会话描述,类型为[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### RegisterServiceDeathCallback() + + +``` +virtual int32_t OHOS::AVSession::AVSessionManager::RegisterServiceDeathCallback (const DeathCallback & callback) +``` +**描述:** +注册AVSession服务器的死亡回调的接口方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| callback | 死亡回调的方法,类型为**DeathCallback**。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[UnregisterServiceDeathCallback](#unregisterservicedeathcallback) + + +### RegisterSessionListener() + + +``` +virtual int32_t OHOS::AVSession::AVSessionManager::RegisterSessionListener (const std::shared_ptr< SessionListener > & listener) +``` +**描述:** +注册AVSession会话监听器的接口方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| listener | 会话监听器的智能指针,类型为[SessionListener](_o_h_o_s_1_1_a_v_session_1_1_session_listener.md)。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### SendSystemAVKeyEvent() + + +``` +virtual int32_t OHOS::AVSession::AVSessionManager::SendSystemAVKeyEvent (const MMI::KeyEvent & keyEvent) +``` +**描述:** +发送系统按键事件的接口方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| keyEvent | 按键事件码,类型为**MMI::KeyEvent**。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### SendSystemControlCommand() + + +``` +virtual int32_t OHOS::AVSession::AVSessionManager::SendSystemControlCommand (const AVControlCommand & command) +``` +**描述:** +发送系统控制命令的接口方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| command | 系统控制命令[AVControlCommand](_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md)。 | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### UnregisterServiceDeathCallback() + + +``` +virtual int32_t OHOS::AVSession::AVSessionManager::UnregisterServiceDeathCallback () +``` +**描述:** +注销AVSession服务器的死亡回调的接口方法。 + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[RegisterServiceDeathCallback](#registerservicedeathcallback) diff --git a/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md new file mode 100644 index 0000000000000000000000000000000000000000..39038f5b3f40ec407e99d33b60d2f7cd27113aae --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md @@ -0,0 +1,154 @@ +# OHOS::AVSession::AVSessionPixelMap + + +## 概述 + +读取、设置图片及图片信息。 + + +## 汇总 + + +### Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [Marshalling](#marshalling) (Parcel &data) const override | 实现图片及图片信息的序列化。  | +| [GetPixelData](#getpixeldata) () const | 获取图片数据。  | +| [SetPixelData](#setpixeldata) (const std::vector< uint8_t > &data) | 设置图片数据。  | +| [GetImageInfo](#getimageinfo) () const | 获取图片信息。  | +| [SetImageInfo](#setimageinfo) (const std::vector< uint8_t > &imageInfo) | 设置图片信息。  | + + +### 静态 Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [Unmarshalling](#unmarshalling) (Parcel &data) | 实现图片及图片信息的反序列化。  | + + +## 成员函数说明 + + +### GetImageInfo() + + +``` +std::vector OHOS::AVSession::AVSessionPixelMap::GetImageInfo () const +``` +**描述:** +获取图片信息。 + +**返回:** + +返回图片信息。 + +**参见:** + +[SetImageInfo](#setimageinfo) + + +### GetPixelData() + + +``` +std::vector OHOS::AVSession::AVSessionPixelMap::GetPixelData () const +``` +**描述:** +获取图片数据。 + +**返回:** + +返回图片数据。 + +**参见:** + +[SetPixelData](#setpixeldata) + + +### Marshalling() + + +``` +bool OHOS::AVSession::AVSessionPixelMap::Marshalling (Parcel & data) const +``` +**描述:** +实现图片及图片信息的序列化。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| data | 保存序列化值的对象**Parcel**。  | + +**返回:** + +如果序列化成功,则返回true;失败则返回false。 + +**参见:** + +[Unmarshalling](#unmarshalling) + + +### SetImageInfo() + + +``` +void OHOS::AVSession::AVSessionPixelMap::SetImageInfo (const std::vector< uint8_t > & imageInfo) +``` +**描述:** +设置图片信息。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| imageInfo | 图片信息。  | + +**参见:** + +[GetImageInfo](#getimageinfo) + + +### SetPixelData() + + +``` +void OHOS::AVSession::AVSessionPixelMap::SetPixelData (const std::vector< uint8_t > & data) +``` +**描述:** +设置图片数据。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| data | 图片数据。  | + +**参见:** + +[GetPixelData](#getpixeldata) + + +### Unmarshalling() + + +``` +static AVSessionPixelMap* OHOS::AVSession::AVSessionPixelMap::Unmarshalling (Parcel & data) +``` +**描述:** +实现图片及图片信息的反序列化。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| data | 保存反序列化值的对象**Parcel**。  | + +**返回:** + +如果反序列化成功,则返回true;失败则返回false。 + +**参见:** + +[Marshalling](#marshalling) diff --git a/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md new file mode 100644 index 0000000000000000000000000000000000000000..971babf6930164449f3c8651ea8eb940d11f95df --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md @@ -0,0 +1,26 @@ +# OHOS::AVSession::OutputDeviceInfo + + +## 概述 + +描述分布式设备的相关信息。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Avsession](avsession.md) + + +## 汇总 + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| [isRemote_](avsession.md#isremote) {} | bool | +| [deviceIds_](avsession.md#deviceids) | std::vector< std::string > | +| [deviceNames_](avsession.md#devicenames) | std::vector< std::string > | diff --git a/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_session_listener.md b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_session_listener.md new file mode 100644 index 0000000000000000000000000000000000000000..9fb407a233510614c121ee465eb94a836c3807d7 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_session_listener.md @@ -0,0 +1,97 @@ +# OHOS::AVSession::SessionListener + + +## 概述 + +定义与AVSession相关监听器的类的实现。 + +**Since:** +9 +**Version:** +1.0 + +## 汇总 + + +### Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [OnSessionCreate](#onsessioncreate) (const [AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) &descriptor)=0 | 创建AVSession会话的抽象的接口回调方法。  | +| [OnSessionRelease](#onsessionrelease) (const [AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) &descriptor)=0 | 释放AVSession会话的抽象的接口回调方法。  | +| [OnTopSessionChange](#ontopsessionchange) (const [AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) &descriptor)=0 | AVSession的TOP会话发生变化的抽象的接口回调方法。  | +| [~SessionListener](#sessionlistener) ()=default | SessionListener的默认的析构函数。  | + + +## 构造及析构函数说明 + + +### ~SessionListener() + + +``` +virtual OHOS::AVSession::SessionListener::~SessionListener () +``` +**描述:** +SessionListener的默认的析构函数。 + + +## 成员函数说明 + + +### OnSessionCreate() + + +``` +virtual void OHOS::AVSession::SessionListener::OnSessionCreate (const AVSessionDescriptor & descriptor) +``` +**描述:** +创建AVSession会话的抽象的接口回调方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| descriptor | AVSession的会话描述对象,类型为[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)。  | + +**参见:** + +[OnSessionRelease](#onsessionrelease) + + +### OnSessionRelease() + + +``` +virtual void OHOS::AVSession::SessionListener::OnSessionRelease (const AVSessionDescriptor & descriptor) +``` +**描述:** +释放AVSession会话的抽象的接口回调方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| descriptor | AVSession的会话描述对象,类型为[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)。  | + +**参见:** + +[OnSessionCreate](#onsessioncreate) + + +### OnTopSessionChange() + + +``` +virtual void OHOS::AVSession::SessionListener::OnTopSessionChange (const AVSessionDescriptor & descriptor) +``` +**描述:** +AVSession的TOP会话发生变化的抽象的接口回调方法。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| descriptor | AVSession的会话描述对象,类型为[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)。  | + + \ No newline at end of file diff --git a/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_session_token.md b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_session_token.md new file mode 100644 index 0000000000000000000000000000000000000000..a0b7eae295d926f591f5c76c1183a66bc5f446e8 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_session_token.md @@ -0,0 +1,55 @@ +# OHOS::AVSession::SessionToken + + +## 概述 + +会话令牌的信息。 + +**Since:** +9 +**Version:** +1.0 + +## 汇总 + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| [sessionId](#sessionid) | std::string
会话id  | +| [pid](#pid) | pid_t
会话的进程id  | +| [uid](#uid) | uid_t
用户id  | + + +## 结构体成员变量说明 + + +### pid + + +``` +pid_t OHOS::AVSession::SessionToken::pid +``` +**描述:** +会话的进程id + + +### sessionId + + +``` +std::string OHOS::AVSession::SessionToken::sessionId +``` +**描述:** +会话id + + +### uid + + +``` +uid_t OHOS::AVSession::SessionToken::uid +``` +**描述:** +用户id diff --git a/zh-cn/application-dev/reference/native-apis/_region.md b/zh-cn/application-dev/reference/native-apis/_region.md index d8b1024f340516c55758b875726864d86ad09dae..2123c25359fd86d73b2a6450582ff68eba1b1089 100644 --- a/zh-cn/application-dev/reference/native-apis/_region.md +++ b/zh-cn/application-dev/reference/native-apis/_region.md @@ -43,5 +43,3 @@ struct Rect Region::*rects **描述:** 结构体指针,类型为[Rect](_rect.md)。如果rects是空指针nullptr, 默认Buffer大小为脏区。 - - \ No newline at end of file diff --git a/zh-cn/application-dev/reference/native-apis/_video_decoder.md b/zh-cn/application-dev/reference/native-apis/_video_decoder.md new file mode 100644 index 0000000000000000000000000000000000000000..a5b1f9f8ed44f68ea530c7cf04380eb04f4e9f44 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_video_decoder.md @@ -0,0 +1,434 @@ +# VideoDecoder + + +## 概述 + +VideoDecoder模块提供用于视频解码功能的函数。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**Since:** +9 +**Version:** +1.0 + +## 汇总 + + +### 文件 + + | 名称 | 描述 | +| -------- | -------- | +| [native_avcodec_videodecoder.h](native__avcodec__videodecoder_8h.md) | 声明用于视频解码的Native API。 | + + +### 函数 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_VideoDecoder_CreateByMime](#oh_videodecoder_createbymime) (const char \*mime) | OH_AVCodec \*
通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。 | +| [OH_VideoDecoder_CreateByName](#oh_videodecoder_createbyname) (const char \*name) | OH_AVCodec \*
通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 | +| [OH_VideoDecoder_Destroy](#oh_videodecoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空解码器内部资源,并销毁解码器实例。 | +| [OH_VideoDecoder_SetCallback](#oh_videodecoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#oh_averrcode)
设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 | +| [OH_VideoDecoder_SetSurface](#oh_videodecoder_setsurface) (OH_AVCodec \*codec, OHNativeWindow \*window) | [OH_AVErrCode](_core.md#oh_averrcode)
指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。 | +| [OH_VideoDecoder_Configure](#oh_videodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 | +| [OH_VideoDecoder_Prepare](#oh_videodecoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
准备解码器内部资源,调用该接口前必须先调用Configure接口。 | +| [OH_VideoDecoder_Start](#oh_videodecoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | +| [OH_VideoDecoder_Stop](#oh_videodecoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 | +| [OH_VideoDecoder_Flush](#oh_videodecoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | +| [OH_VideoDecoder_Reset](#oh_videodecoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 | +| [OH_VideoDecoder_GetOutputDescription](#oh_videodecoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*
获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 | +| [OH_VideoDecoder_SetParameter](#oh_videodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 | +| [OH_VideoDecoder_PushInputData](#oh_videodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | [OH_AVErrCode](_core.md#oh_averrcode)
将填充好数据的输入Buffer提交给视频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程,例如H264格式的PPS/SPS数据。 | +| [OH_VideoDecoder_RenderOutputData](#oh_videodecoder_renderoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)
将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。 如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。 | +| [OH_VideoDecoder_FreeOutputData](#oh_videodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)
将处理结束的输出Buffer交还给解码器。 | + + +## 函数说明 + + +### OH_VideoDecoder_Configure() + + +``` +OH_AVErrCode OH_VideoDecoder_Configure (OH_AVCodec * codec, OH_AVFormat * format ) +``` +**描述:** +配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| format | 指向OH_AVFormat的指针,用以给出待解码视频轨道的描述信息 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoDecoder_CreateByMime() + + +``` +OH_AVCodec* OH_VideoDecoder_CreateByMime (const char * mime) +``` +**描述:** +通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_VIDEO_AVC](_codec_base.md#oh_avcodec_mimetype_video_avc) | + +**返回:** + +返回一个指向OH_AVCodec实例的指针 + + +### OH_VideoDecoder_CreateByName() + + +``` +OH_AVCodec* OH_VideoDecoder_CreateByName (const char * name) +``` +**描述:** +通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| name | 视频解码器名称 | + +**返回:** + +返回一个指向OH_AVCodec实例的指针 + + +### OH_VideoDecoder_Destroy() + + +``` +OH_AVErrCode OH_VideoDecoder_Destroy (OH_AVCodec * codec) +``` +**描述:** +清空解码器内部资源,并销毁解码器实例。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoDecoder_Flush() + + +``` +OH_AVErrCode OH_VideoDecoder_Flush (OH_AVCodec * codec) +``` +**描述:** +清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoDecoder_FreeOutputData() + + +``` +OH_AVErrCode OH_VideoDecoder_FreeOutputData (OH_AVCodec * codec, uint32_t index ) +``` +**描述:** +将处理结束的输出Buffer交还给解码器。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| index | 输出Buffer对应的索引值 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoDecoder_GetOutputDescription() + + +``` +OH_AVFormat* OH_VideoDecoder_GetOutputDescription (OH_AVCodec * codec) +``` +**描述:** +获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +返回AVFormat实例的指针 + + +### OH_VideoDecoder_Prepare() + + +``` +OH_AVErrCode OH_VideoDecoder_Prepare (OH_AVCodec * codec) +``` +**描述:** +准备解码器内部资源,调用该接口前必须先调用Configure接口。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoDecoder_PushInputData() + + +``` +OH_AVErrCode OH_VideoDecoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr ) +``` +**描述:** +将填充好数据的输入Buffer提交给视频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程,例如H264格式的PPS/SPS数据。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| index | 输入Buffer对应的索引值 | +| attr | 描述该Buffer内所包含数据的信息 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoDecoder_RenderOutputData() + + +``` +OH_AVErrCode OH_VideoDecoder_RenderOutputData (OH_AVCodec * codec, uint32_t index ) +``` +**描述:** +将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。 如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| index | 输出Buffer对应的索引值 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoDecoder_Reset() + + +``` +OH_AVErrCode OH_VideoDecoder_Reset (OH_AVCodec * codec) +``` +**描述:** +重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoDecoder_SetCallback() + + +``` +OH_AVErrCode OH_VideoDecoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCallback callback, void * userData ) +``` +**描述:** +设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| callback | 一个包含所有回调函数的集合体,参考[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | +| userData | 用户特定数据 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoDecoder_SetParameter() + + +``` +OH_AVErrCode OH_VideoDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * format ) +``` +**描述:** +向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| format | 指向OH_AVFormat实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoDecoder_SetSurface() + + +``` +OH_AVErrCode OH_VideoDecoder_SetSurface (OH_AVCodec * codec, OHNativeWindow * window ) +``` +**描述:** +指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| window | 指向一个OHNativeWindow实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoDecoder_Start() + + +``` +OH_AVErrCode OH_VideoDecoder_Start (OH_AVCodec * codec) +``` +**描述:** +启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoDecoder_Stop() + + +``` +OH_AVErrCode OH_VideoDecoder_Stop (OH_AVCodec * codec) +``` +**描述:** +停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 + +@syscap SystemCapability.Multimedia.Media.VideoDecoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) diff --git a/zh-cn/application-dev/reference/native-apis/_video_encoder.md b/zh-cn/application-dev/reference/native-apis/_video_encoder.md new file mode 100644 index 0000000000000000000000000000000000000000..2ba39e6fdee3bb1e4ec71f8fd672b0ecb33d025a --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_video_encoder.md @@ -0,0 +1,456 @@ +# VideoEncoder + + +## 概述 + +VideoEncoder模块提供用于视频编码功能的函数和枚举。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**Since:** +9 +**Version:** +1.0 + +## 汇总 + + +### 文件 + + | 名称 | 描述 | +| -------- | -------- | +| [native_avcodec_videoencoder.h](native__avcodec__videoencoder_8h.md) | 声明用于视频编码的Native API。 | + + +### 类型定义 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_VideoEncodeBitrateMode](#oh_videoencodebitratemode) | typedef enum [OH_VideoEncodeBitrateMode](#oh_videoencodebitratemode)
视频编码的比特率模式。 | + + +### 枚举 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_VideoEncodeBitrateMode](#oh_videoencodebitratemode) { **CBR** = 0, **VBR** = 1, **CQ** = 2 } | 视频编码的比特率模式。 | + + +### 函数 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_VideoEncoder_CreateByMime](#oh_videoencoder_createbymime) (const char \*mime) | OH_AVCodec \*
通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。 | +| [OH_VideoEncoder_CreateByName](#oh_videoencoder_createbyname) (const char \*name) | OH_AVCodec \*
通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 | +| [OH_VideoEncoder_Destroy](#oh_videoencoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空编码器内部资源,并销毁编码器实例。 | +| [OH_VideoEncoder_SetCallback](#oh_videoencoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#oh_averrcode)
设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 | +| [OH_VideoEncoder_Configure](#oh_videoencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 | +| [OH_VideoEncoder_Prepare](#oh_videoencoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
准备编码器内部资源,调用该接口前必须先调用Configure接口。 | +| [OH_VideoEncoder_Start](#oh_videoencoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | +| [OH_VideoEncoder_Stop](#oh_videoencoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
停止编码器。在停止后可通过Start重新进入Started状态。 | +| [OH_VideoEncoder_Flush](#oh_videoencoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | +| [OH_VideoEncoder_Reset](#oh_videoencoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 | +| [OH_VideoEncoder_GetOutputDescription](#oh_videoencoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*
获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 | +| [OH_VideoEncoder_SetParameter](#oh_videoencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 | +| [OH_VideoEncoder_GetSurface](#oh_videoencoder_getsurface) (OH_AVCodec \*codec, OHNativeWindow \*\*window) | [OH_AVErrCode](_core.md#oh_averrcode)
从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。 | +| [OH_VideoEncoder_FreeOutputData](#oh_videoencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)
将处理结束的输出Buffer交还给编码器。 | +| [OH_VideoEncoder_NotifyEndOfStream](#oh_videoencoder_notifyendofstream) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。 | + + +## 类型定义说明 + + +### OH_VideoEncodeBitrateMode + + +``` +typedef enum OH_VideoEncodeBitrateModeOH_VideoEncodeBitrateMode +``` +**描述:** +视频编码的比特率模式。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + + +## 枚举类型说明 + + +### OH_VideoEncodeBitrateMode + + +``` +enum OH_VideoEncodeBitrateMode +``` +**描述:** +视频编码的比特率模式。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + + | 枚举值 | 描述 | +| -------- | -------- | +| CBR | 恒定比特率模式 | +| VBR | 可变比特率模式 | +| CQ | 恒定质量模式 | + + +## 函数说明 + + +### OH_VideoEncoder_Configure() + + +``` +OH_AVErrCode OH_VideoEncoder_Configure (OH_AVCodec * codec, OH_AVFormat * format ) +``` +**描述:** +配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| format | 指向OH_AVFormat的指针,用以给出待编码视频轨道的描述信息 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoEncoder_CreateByMime() + + +``` +OH_AVCodec* OH_VideoEncoder_CreateByMime (const char * mime) +``` +**描述:** +通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_VIDEO_AVC](_codec_base.md#oh_avcodec_mimetype_video_avc) | + +**返回:** + +返回一个指向OH_AVCodec实例的指针 + + +### OH_VideoEncoder_CreateByName() + + +``` +OH_AVCodec* OH_VideoEncoder_CreateByName (const char * name) +``` +**描述:** +通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| name | 视频编码器名称 | + +**返回:** + +返回一个指向OH_AVCodec实例的指针 + + +### OH_VideoEncoder_Destroy() + + +``` +OH_AVErrCode OH_VideoEncoder_Destroy (OH_AVCodec * codec) +``` +**描述:** +清空编码器内部资源,并销毁编码器实例。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoEncoder_Flush() + + +``` +OH_AVErrCode OH_VideoEncoder_Flush (OH_AVCodec * codec) +``` +**描述:** +清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoEncoder_FreeOutputData() + + +``` +OH_AVErrCode OH_VideoEncoder_FreeOutputData (OH_AVCodec * codec, uint32_t index ) +``` +**描述:** +将处理结束的输出Buffer交还给编码器。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| index | 输出Buffer对应的索引值 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoEncoder_GetOutputDescription() + + +``` +OH_AVFormat* OH_VideoEncoder_GetOutputDescription (OH_AVCodec * codec) +``` +**描述:** +获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +返回AVFormat实例的指针 + + +### OH_VideoEncoder_GetSurface() + + +``` +OH_AVErrCode OH_VideoEncoder_GetSurface (OH_AVCodec * codec, OHNativeWindow ** window ) +``` +**描述:** +从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| window | 指向一个OHNativeWindow实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoEncoder_NotifyEndOfStream() + + +``` +OH_AVErrCode OH_VideoEncoder_NotifyEndOfStream (OH_AVCodec * codec) +``` +**描述:** +通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoEncoder_Prepare() + + +``` +OH_AVErrCode OH_VideoEncoder_Prepare (OH_AVCodec * codec) +``` +**描述:** +准备编码器内部资源,调用该接口前必须先调用Configure接口。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoEncoder_Reset() + + +``` +OH_AVErrCode OH_VideoEncoder_Reset (OH_AVCodec * codec) +``` +**描述:** +重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoEncoder_SetCallback() + + +``` +OH_AVErrCode OH_VideoEncoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCallback callback, void * userData ) +``` +**描述:** +设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| callback | 一个包含所有回调函数的集合体,参考[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | +| userData | 用户特定数据 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoEncoder_SetParameter() + + +``` +OH_AVErrCode OH_VideoEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * format ) +``` +**描述:** +向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | +| format | OH_AVFormat句柄指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoEncoder_Start() + + +``` +OH_AVErrCode OH_VideoEncoder_Start (OH_AVCodec * codec) +``` +**描述:** +启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) + + +### OH_VideoEncoder_Stop() + + +``` +OH_AVErrCode OH_VideoEncoder_Stop (OH_AVCodec * codec) +``` +**描述:** +停止编码器。在停止后可通过Start重新进入Started状态。 + +@syscap SystemCapability.Multimedia.Media.VideoEncoder + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| codec | 指向OH_AVCodec实例的指针 | + +**返回:** + +执行成功返回AV_ERR_OK + +执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode) diff --git a/zh-cn/application-dev/reference/native-apis/av__session_8h.md b/zh-cn/application-dev/reference/native-apis/av__session_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..e908100fe46e543251739f042219b870740c3c2c --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/av__session_8h.md @@ -0,0 +1,24 @@ +# av_session.h + + +## 概述 + +会话的设置、获取等声明。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Avsession](avsession.md) + + +## 汇总 + + +### 结构体 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::AVSession](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md) | class
会话对象,支持配置会话属性,并可主动更新播放状态和会话元数据。 | diff --git a/zh-cn/application-dev/reference/native-apis/avcontrol__command_8h.md b/zh-cn/application-dev/reference/native-apis/avcontrol__command_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..f8cc0b9f9d42295e1440833071c8e9e6b4d627c3 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/avcontrol__command_8h.md @@ -0,0 +1,24 @@ +# avcontrol_command.h + + +## 概述 + +音视频控制指令的设置、获取、拷贝等声明。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Avsession](avsession.md) + + +## 汇总 + + +### 结构体 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::AVControlCommand](_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md) | class
用于描述音视频播控命令工具类,播控命令的封装对象,支持设置和获取控制命令。 | diff --git a/zh-cn/application-dev/reference/native-apis/avmeta__data_8h.md b/zh-cn/application-dev/reference/native-apis/avmeta__data_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..957d44d24c2739b41ac4b1f5cc98876281430179 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/avmeta__data_8h.md @@ -0,0 +1,24 @@ +# avmeta_data.h + + +## 概述 + +会话元数据设置、获取、拷贝等接口声明。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Avsession](avsession.md) + + +## 汇总 + + +### 结构体 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md) | class
会话元数据类,提供获取metadata进程间传递的序列化和反序列话及数据拷贝的接口方法。 | diff --git a/zh-cn/application-dev/reference/native-apis/avplayback__state_8h.md b/zh-cn/application-dev/reference/native-apis/avplayback__state_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..2a62e921e79d643a1b4560b0ad2bf72212d3d4db --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/avplayback__state_8h.md @@ -0,0 +1,25 @@ +# avplayback_state.h + + +## 概述 + +音视频播放状态声明。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Avsession](avsession.md) + + +## 汇总 + + +### 结构体 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md) | class
音视频播放状态类,提供获取和设置播放界面的信息。 | +| [OHOS::AVSession::AVPlaybackState::Position](_1_a_v_session_1_1_a_v_playback_state_1_1_position.md) | struct
播放位置的相关信息。 | diff --git a/zh-cn/application-dev/reference/native-apis/avsession.md b/zh-cn/application-dev/reference/native-apis/avsession.md new file mode 100644 index 0000000000000000000000000000000000000000..b30ac7ab72da3f28b3d5fee01f5f5c2e100a25cb --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/avsession.md @@ -0,0 +1,469 @@ +# Avsession + + +## 概述 + +音视频媒体会话,提供系统内媒体的统一控制能力。 + +功能包括媒体会话,媒体会话管理,媒体会话控制。 + +@syscap SystemCapability.Multimedia.AVSession.Core + +**Since:** + +9 + +**Version:** + +1.0 + + +## 汇总 + + +### 文件 + + | 名称 | 描述 | +| -------- | -------- | +| [av_session.h](av__session_8h.md) | 会话的设置、获取等声明。 | +| [avcontrol_command.h](avcontrol__command_8h.md) | 音视频控制指令的设置、获取、拷贝等声明。 | +| [avmeta_data.h](avmeta__data_8h.md) | 会话元数据设置、获取、拷贝等接口声明。 | +| [avplayback_state.h](avplayback__state_8h.md) | 音视频播放状态声明。 | +| [avsession_controller.h](avsession__controller_8h.md) | 控制器对象的描述,可获取会话的播放状态和会话元数据,远程发送控制命令到会话端也可以通过订阅监听会话段的更新事件。 | +| [avsession_descriptor.h](avsession__descriptor_8h.md) | 会话的相关描述信息。 | +| [avsession_errors.h](avsession__errors_8h.md) | 定义了avsession错误码。 | +| [avsession_info.h](avsession__info_8h.md) | 定义了与avsession相关的监听器以及回调功能的实现。 | +| [avsession_manager.h](avsession__manager_8h.md) | 定义了会话管理器对外接口的功能的实现。 | +| [avsession_pixel_map.h](avsession__pixel__map_8h.md) | 读取、设置图片及图片信息。 | + + +### 结构体 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md) | struct
描述分布式设备的相关信息。 | +| [OHOS::AVSession::AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) | struct
会话的相关描述信息。 | +| [OHOS::AVSession::AVSessionBasicInfo](o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md) | struct
会话基础信息描述。 | + + +### 函数 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::AVSessionDescriptor::WriteToParcel](#writetoparcel) (Parcel &out) const | bool
将会话相关描述信息写进包里。 | +| [OHOS::AVSession::AVSessionDescriptor::ReadFromParcel](#readfromparcel) (Parcel &in) | bool
对会话相关描述信息进行解包。 | + + +### 变量 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::OutputDeviceInfo::isRemote_](#isremote) {} | bool
是否连接 | +| [OHOS::AVSession::OutputDeviceInfo::deviceIds_](#deviceids) | std::vector< std::string >
分布式设备的id集合 | +| [OHOS::AVSession::OutputDeviceInfo::deviceNames_](#devicenames) | std::vector< std::string >
分布式设备的名称集合 | +| [OHOS::AVSession::AVSessionDescriptor::sessionId_](#sessionid) | std::string
会话的id | +| [OHOS::AVSession::AVSessionDescriptor::sessionType_](#sessiontype) {} | int32_t
会话的类型 | +| [OHOS::AVSession::AVSessionDescriptor::sessionTag_](#sessiontag) | std::string
会话的自定义名称 | +| [OHOS::AVSession::AVSessionDescriptor::elementName_](#elementname) | AppExecFwk::ElementName
会话所属应用的信息包含bundleName,abilityName等 | +| [OHOS::AVSession::AVSessionDescriptor::pid_](#pid) {} | pid_t
进程id | +| [OHOS::AVSession::AVSessionDescriptor::uid_](#uid) {} | pid_t
用户id | +| [OHOS::AVSession::AVSessionDescriptor::isActive_](#isactive) {} | bool
会话是否为激活状态 | +| [OHOS::AVSession::AVSessionDescriptor::isTopSession_](#istopsession) {} | bool
会话是否是最新的会话 | +| [OHOS::AVSession::AVSessionDescriptor::isThirdPartyApp_](#isthirdpartyapp) {} | bool
是否是第三方应用 | +| [OHOS::AVSession::AVSessionDescriptor::outputDeviceInfo_](#outputdeviceinfo) | [OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md)
分布式设备相关信息 | +| [OHOS::AVSession::AVSessionBasicInfo::deviceName_](#devicename) {} | std::string
设备名称 | +| [OHOS::AVSession::AVSessionBasicInfo::networkId_](#networkid) {} | std::string
设备id | +| [OHOS::AVSession::AVSessionBasicInfo::vendorId_](#vendorid) {} | std::string
供应商id | +| [OHOS::AVSession::AVSessionBasicInfo::deviceType_](#devicetype) {} | std::string
设备类型 | +| [OHOS::AVSession::AVSessionBasicInfo::systemVersion_](#systemversion) {} | std::string
系统版本 | +| [OHOS::AVSession::AVSessionBasicInfo::sessionVersion_](#sessionversion) {} | int32_t
会话版本 | +| [OHOS::AVSession::AVSessionBasicInfo::reserve_](#reserve) {} | std::vector< int32_t >
备注信息 | +| [OHOS::AVSession::AVSessionBasicInfo::feature_](#feature) {} | std::vector< int32_t >
特征信息 | +| [OHOS::AVSession::AVSessionBasicInfo::metaDataCap_](#metadatacap) {} | std::vector< int32_t >
会话元数据 | +| [OHOS::AVSession::AVSessionBasicInfo::playBackStateCap_](#playbackstatecap) {} | std::vector< int32_t >
支持播放状态数组 | +| [OHOS::AVSession::AVSessionBasicInfo::controlCommandCap_](#controlcommandcap) {} | std::vector< int32_t >
系统控制命令 | +| [OHOS::AVSession::AVSessionBasicInfo::extendCapability_](#extendcapability) {} | std::vector< int32_t >
扩展能力 | +| [OHOS::AVSession::AVSessionBasicInfo::systemTime_](#systemtime) {} | int32_t
系统时间 | +| [OHOS::AVSession::AVSessionBasicInfo::extend_](#extend) {} | std::vector< int32_t >
扩展信息 | + + +## 函数说明 + + +### ReadFromParcel() + + +``` +bool OHOS::AVSession::AVSessionDescriptor::ReadFromParcel (Parcel & in) +``` + +**描述:** + +对会话相关描述信息进行解包。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| in | 读出的会话相关描述信息对象**Parcel**。 | + +**返回:** + +成功返回true;失败则返回false。 + +**参见:** + +[WriteToParcel](#writetoparcel) + + +### WriteToParcel() + + +``` +bool OHOS::AVSession::AVSessionDescriptor::WriteToParcel (Parcel & out) const +``` + +**描述:** + +将会话相关描述信息写进包里。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| out | 写入的会话相关描述信息对象**Parcel**。 | + +**返回:** + +成功返回true;失败则返回false。 + +**参见:** + +[ReadFromParcel](#readfromparcel) + + +## 变量说明 + + +### controlCommandCap_ + + +``` +std::vector OHOS::AVSession::AVSessionBasicInfo::controlCommandCap_ {} +``` + +**描述:** + +系统控制命令 + + +### deviceIds_ + + +``` +std::vector OHOS::AVSession::OutputDeviceInfo::deviceIds_ +``` + +**描述:** + +分布式设备的id集合 + + +### deviceName_ + + +``` +std::string OHOS::AVSession::AVSessionBasicInfo::deviceName_ {} +``` + +**描述:** + +设备名称 + + +### deviceNames_ + + +``` +std::vector OHOS::AVSession::OutputDeviceInfo::deviceNames_ +``` + +**描述:** + +分布式设备的名称集合 + + +### deviceType_ + + +``` +std::string OHOS::AVSession::AVSessionBasicInfo::deviceType_ {} +``` + +**描述:** + +设备类型 + + +### elementName_ + + +``` +AppExecFwk::ElementName OHOS::AVSession::AVSessionDescriptor::elementName_ +``` + +**描述:** + +会话所属应用的信息包含bundleName,abilityName等 + + +### extend_ + + +``` +std::vector OHOS::AVSession::AVSessionBasicInfo::extend_ {} +``` + +**描述:** + +扩展信息 + + +### extendCapability_ + + +``` +std::vector OHOS::AVSession::AVSessionBasicInfo::extendCapability_ {} +``` + +**描述:** + +扩展能力 + + +### feature_ + + +``` +std::vector OHOS::AVSession::AVSessionBasicInfo::feature_ {} +``` + +**描述:** + +特征信息 + + +### isActive_ + + +``` +bool OHOS::AVSession::AVSessionDescriptor::isActive_ {} +``` + +**描述:** + +会话是否为激活状态 + + +### isRemote_ + + +``` +bool OHOS::AVSession::OutputDeviceInfo::isRemote_ {} +``` + +**描述:** + +是否连接 + + +### isThirdPartyApp_ + + +``` +bool OHOS::AVSession::AVSessionDescriptor::isThirdPartyApp_ {} +``` + +**描述:** + +是否是第三方应用 + + +### isTopSession_ + + +``` +bool OHOS::AVSession::AVSessionDescriptor::isTopSession_ {} +``` + +**描述:** + +会话是否是最新的会话 + + +### metaDataCap_ + + +``` +std::vector OHOS::AVSession::AVSessionBasicInfo::metaDataCap_ {} +``` + +**描述:** + +会话元数据 + + +### networkId_ + + +``` +std::string OHOS::AVSession::AVSessionBasicInfo::networkId_ {} +``` + +**描述:** + +设备id + + +### outputDeviceInfo_ + + +``` +OutputDeviceInfo OHOS::AVSession::AVSessionDescriptor::outputDeviceInfo_ +``` + +**描述:** + +分布式设备相关信息 + + +### pid_ + + +``` +pid_t OHOS::AVSession::AVSessionDescriptor::pid_ {} +``` + +**描述:** + +进程id + + +### playBackStateCap_ + + +``` +std::vector OHOS::AVSession::AVSessionBasicInfo::playBackStateCap_ {} +``` + +**描述:** + +支持播放状态数组 + + +### reserve_ + + +``` +std::vector OHOS::AVSession::AVSessionBasicInfo::reserve_ {} +``` + +**描述:** + +备注信息 + + +### sessionId_ + + +``` +std::string OHOS::AVSession::AVSessionDescriptor::sessionId_ +``` + +**描述:** + +会话的id + + +### sessionTag_ + + +``` +std::string OHOS::AVSession::AVSessionDescriptor::sessionTag_ +``` + +**描述:** + +会话的自定义名称 + + +### sessionType_ + + +``` +int32_t OHOS::AVSession::AVSessionDescriptor::sessionType_ {} +``` + +**描述:** + +会话的类型 + + +### sessionVersion_ + + +``` +int32_t OHOS::AVSession::AVSessionBasicInfo::sessionVersion_ {} +``` + +**描述:** + +会话版本 + + +### systemTime_ + + +``` +int32_t OHOS::AVSession::AVSessionBasicInfo::systemTime_ {} +``` + +**描述:** + +系统时间 + + +### systemVersion_ + + +``` +std::string OHOS::AVSession::AVSessionBasicInfo::systemVersion_ {} +``` + +**描述:** + +系统版本 + + +### uid_ + + +``` +pid_t OHOS::AVSession::AVSessionDescriptor::uid_ {} +``` + +**描述:** + +用户id + + +### vendorId_ + + +``` +std::string OHOS::AVSession::AVSessionBasicInfo::vendorId_ {} +``` + +**描述:** + +供应商id diff --git a/zh-cn/application-dev/reference/native-apis/avsession__controller_8h.md b/zh-cn/application-dev/reference/native-apis/avsession__controller_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..6a1b06aa8e1740e7fc52f029c1e8fa59247e2906 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/avsession__controller_8h.md @@ -0,0 +1,24 @@ +# avsession_controller.h + + +## 概述 + +控制器对象的描述,可获取会话的播放状态和会话元数据,远程发送控制命令到会话端也可以通过订阅监听会话段的更新事件。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Avsession](avsession.md) + + +## 汇总 + + +### 结构体 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::AVSessionController](o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md) | class
控制器对象,可获取会话的播放状态和会话元数据,远程发送控制命令到会话端也可以通过订阅监听会话段的更新事件。 | diff --git a/zh-cn/application-dev/reference/native-apis/avsession__descriptor_8h.md b/zh-cn/application-dev/reference/native-apis/avsession__descriptor_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..e563c140ba298bdf2633b5492b95b35b7f02f001 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/avsession__descriptor_8h.md @@ -0,0 +1,26 @@ +# avsession_descriptor.h + + +## 概述 + +会话的相关描述信息。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Avsession](avsession.md) + + +## 汇总 + + +### 结构体 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md) | struct
描述分布式设备的相关信息。 | +| [OHOS::AVSession::AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) | struct
会话的相关描述信息。 | +| [OHOS::AVSession::AVSessionBasicInfo](o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md) | struct
会话基础信息描述。 | diff --git a/zh-cn/application-dev/reference/native-apis/avsession__errors_8h.md b/zh-cn/application-dev/reference/native-apis/avsession__errors_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..6f1ed54b1539c849e0ccbda9310df9c55e87eed9 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/avsession__errors_8h.md @@ -0,0 +1,268 @@ +# avsession_errors.h + + +## 概述 + +定义了avsession错误码。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Avsession](avsession.md) + + +## 汇总 + + +### 变量 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::AVSESSION_ERROR](#avsession_error) = -1 | constexpr int32_t
存在错误 | +| [OHOS::AVSession::AVSESSION_SUCCESS](#avsession_success) = 0 | constexpr int32_t
操作成功 | +| [OHOS::AVSession::AVSESSION_ERROR_BASE](#avsession_error_base) = 1000 | constexpr int32_t
avsession错误码的基定义 | +| [OHOS::AVSession::ERR_NO_MEMORY](#err_no_memory) = -(AVSESSION_ERROR_BASE + 1) | constexpr int32_t
无可用内存 | +| [OHOS::AVSession::ERR_INVALID_PARAM](#err_invalid_param) = -(AVSESSION_ERROR_BASE + 2) | constexpr int32_t
传递的参数无效 | +| [OHOS::AVSession::ERR_SERVICE_NOT_EXIST](#err_service_not_exist) = -(AVSESSION_ERROR_BASE + 3) | constexpr int32_t
服务不存在 | +| [OHOS::AVSession::ERR_SESSION_LISTENER_EXIST](#err_session_listener_exist) = -(AVSESSION_ERROR_BASE + 4) | constexpr int32_t
Session监听器已存在 | +| [OHOS::AVSession::ERR_MARSHALLING](#err_marshalling) = -(AVSESSION_ERROR_BASE + 5) | constexpr int32_t
数据序列化操作错误 | +| [OHOS::AVSession::ERR_UNMARSHALLING](#err_unmarshalling) = -(AVSESSION_ERROR_BASE + 6) | constexpr int32_t
数据反序列化操作错误 | +| [OHOS::AVSession::ERR_IPC_SEND_REQUEST](#err_ipc_send_request) = -(AVSESSION_ERROR_BASE + 7) | constexpr int32_t
IPC发送数据失败 | +| [OHOS::AVSession::ERR_SESSION_EXCEED_MAX](#err_session_exceed_max) = -(AVSESSION_ERROR_BASE + 8) | constexpr int32_t
超过允许会话最大数量 | +| [OHOS::AVSession::ERR_SESSION_NOT_EXIST](#err_session_not_exist) = -(AVSESSION_ERROR_BASE + 9) | constexpr int32_t
会话不存在 | +| [OHOS::AVSession::ERR_COMMAND_NOT_SUPPORT](#err_command_not_support) = -(AVSESSION_ERROR_BASE + 10) | constexpr int32_t
会话命令不支持 | +| [OHOS::AVSession::ERR_CONTROLLER_NOT_EXIST](#err_controller_not_exist) = -(AVSESSION_ERROR_BASE + 11) | constexpr int32_t
控制器不存在 | +| [OHOS::AVSession::ERR_NO_PERMISSION](#err_no_permission) = -(AVSESSION_ERROR_BASE + 12) | constexpr int32_t
无权限 | +| [OHOS::AVSession::ERR_SESSION_DEACTIVE](#err_session_deactive) = -(AVSESSION_ERROR_BASE + 13) | constexpr int32_t
会话未激活 | +| [OHOS::AVSession::ERR_CONTROLLER_IS_EXIST](#err_controller_is_exist) = -(AVSESSION_ERROR_BASE + 14) | constexpr int32_t
控制器存在 | +| [OHOS::AVSession::ERR_START_ABILITY_IS_RUNNING](#err_start_ability_is_running) = -(AVSESSION_ERROR_BASE + 15) | constexpr int32_t
元能力正在运行 | +| [OHOS::AVSession::ERR_ABILITY_NOT_AVAILABLE](#err_ability_not_available) = -(AVSESSION_ERROR_BASE + 16) | constexpr int32_t
元能力启动超失败 | +| [OHOS::AVSession::ERR_START_ABILITY_TIMEOUT](#err_start_ability_timeout) = -(AVSESSION_ERROR_BASE + 17) | constexpr int32_t
元能力启动超时 | +| [OHOS::AVSession::ERR_COMMAND_SEND_EXCEED_MAX](#err_command_send_exceed_max) = -(AVSESSION_ERROR_BASE + 18) | constexpr int32_t
指令发送次数超过最大值 | +| [OHOS::AVSession::ERR_RPC_SEND_REQUEST](#err_rpc_send_request) = -(AVSESSION_ERROR_BASE + 19) | constexpr int32_t
RPC发送数据失败 | + + +## 变量说明 + + +### AVSESSION_ERROR + + +``` +constexpr int32_t OHOS::AVSession::AVSESSION_ERROR = -1 +``` +**描述:** +存在错误 + + +### AVSESSION_ERROR_BASE + + +``` +constexpr int32_t OHOS::AVSession::AVSESSION_ERROR_BASE = 1000 +``` +**描述:** +avsession错误码的基定义 + + +### AVSESSION_SUCCESS + + +``` +constexpr int32_t OHOS::AVSession::AVSESSION_SUCCESS = 0 +``` +**描述:** +操作成功 + + +### ERR_ABILITY_NOT_AVAILABLE + + +``` +constexpr int32_t OHOS::AVSession::ERR_ABILITY_NOT_AVAILABLE = -(AVSESSION_ERROR_BASE + 16) +``` +**描述:** +元能力启动超失败 + + +### ERR_COMMAND_NOT_SUPPORT + + +``` +constexpr int32_t OHOS::AVSession::ERR_COMMAND_NOT_SUPPORT = -(AVSESSION_ERROR_BASE + 10) +``` +**描述:** +会话命令不支持 + + +### ERR_COMMAND_SEND_EXCEED_MAX + + +``` +constexpr int32_t OHOS::AVSession::ERR_COMMAND_SEND_EXCEED_MAX = -(AVSESSION_ERROR_BASE + 18) +``` +**描述:** +指令发送次数超过最大值 + + +### ERR_CONTROLLER_IS_EXIST + + +``` +constexpr int32_t OHOS::AVSession::ERR_CONTROLLER_IS_EXIST = -(AVSESSION_ERROR_BASE + 14) +``` +**描述:** +控制器存在 + + +### ERR_CONTROLLER_NOT_EXIST + + +``` +constexpr int32_t OHOS::AVSession::ERR_CONTROLLER_NOT_EXIST = -(AVSESSION_ERROR_BASE + 11) +``` +**描述:** +控制器不存在 + + +### ERR_INVALID_PARAM + + +``` +constexpr int32_t OHOS::AVSession::ERR_INVALID_PARAM = -(AVSESSION_ERROR_BASE + 2) +``` +**描述:** +传递的参数无效 + + +### ERR_IPC_SEND_REQUEST + + +``` +constexpr int32_t OHOS::AVSession::ERR_IPC_SEND_REQUEST = -(AVSESSION_ERROR_BASE + 7) +``` +**描述:** +IPC发送数据失败 + + +### ERR_MARSHALLING + + +``` +constexpr int32_t OHOS::AVSession::ERR_MARSHALLING = -(AVSESSION_ERROR_BASE + 5) +``` +**描述:** +数据序列化操作错误 + + +### ERR_NO_MEMORY + + +``` +constexpr int32_t OHOS::AVSession::ERR_NO_MEMORY = -(AVSESSION_ERROR_BASE + 1) +``` +**描述:** +无可用内存 + + +### ERR_NO_PERMISSION + + +``` +constexpr int32_t OHOS::AVSession::ERR_NO_PERMISSION = -(AVSESSION_ERROR_BASE + 12) +``` +**描述:** +无权限 + + +### ERR_RPC_SEND_REQUEST + + +``` +constexpr int32_t OHOS::AVSession::ERR_RPC_SEND_REQUEST = -(AVSESSION_ERROR_BASE + 19) +``` +**描述:** +RPC发送数据失败 + + +### ERR_SERVICE_NOT_EXIST + + +``` +constexpr int32_t OHOS::AVSession::ERR_SERVICE_NOT_EXIST = -(AVSESSION_ERROR_BASE + 3) +``` +**描述:** +服务不存在 + + +### ERR_SESSION_DEACTIVE + + +``` +constexpr int32_t OHOS::AVSession::ERR_SESSION_DEACTIVE = -(AVSESSION_ERROR_BASE + 13) +``` +**描述:** +会话未激活 + + +### ERR_SESSION_EXCEED_MAX + + +``` +constexpr int32_t OHOS::AVSession::ERR_SESSION_EXCEED_MAX = -(AVSESSION_ERROR_BASE + 8) +``` +**描述:** +超过允许会话最大数量 + + +### ERR_SESSION_LISTENER_EXIST + + +``` +constexpr int32_t OHOS::AVSession::ERR_SESSION_LISTENER_EXIST = -(AVSESSION_ERROR_BASE + 4) +``` +**描述:** +Session监听器已存在 + + +### ERR_SESSION_NOT_EXIST + + +``` +constexpr int32_t OHOS::AVSession::ERR_SESSION_NOT_EXIST = -(AVSESSION_ERROR_BASE + 9) +``` +**描述:** +会话不存在 + + +### ERR_START_ABILITY_IS_RUNNING + + +``` +constexpr int32_t OHOS::AVSession::ERR_START_ABILITY_IS_RUNNING = -(AVSESSION_ERROR_BASE + 15) +``` +**描述:** +元能力正在运行 + + +### ERR_START_ABILITY_TIMEOUT + + +``` +constexpr int32_t OHOS::AVSession::ERR_START_ABILITY_TIMEOUT = -(AVSESSION_ERROR_BASE + 17) +``` +**描述:** +元能力启动超时 + + +### ERR_UNMARSHALLING + + +``` +constexpr int32_t OHOS::AVSession::ERR_UNMARSHALLING = -(AVSESSION_ERROR_BASE + 6) +``` +**描述:** +数据反序列化操作错误 diff --git a/zh-cn/application-dev/reference/native-apis/avsession__info_8h.md b/zh-cn/application-dev/reference/native-apis/avsession__info_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..6a557b7d385140bed174ff4da5f808046c00409d --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/avsession__info_8h.md @@ -0,0 +1,75 @@ +# avsession_info.h + + +## 概述 + +定义了与avsession相关的监听器以及回调功能的实现。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Avsession](avsession.md) + + +## 汇总 + + +### 结构体 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::SessionListener](_o_h_o_s_1_1_a_v_session_1_1_session_listener.md) | class
定义与AVSession相关监听器的类的实现。 | +| [OHOS::AVSession::AVSessionCallback](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md) | class
定义AVSession回调类的实现 | +| [OHOS::AVSession::AVControllerCallback](_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md) | class
定义控制器相关回调操作的类的实现。 | +| [OHOS::AVSession::SessionToken](_o_h_o_s_1_1_a_v_session_1_1_session_token.md) | struct
会话令牌的信息。 | + + +### 类型定义 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::DeathCallback](#deathcallback) = std::function< void()> | using | + + +### 枚举 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::SessionDataCategory](#sessiondatacategory) {
**OHOS::AVSession::SESSION_DATA_CATEGORY_INVALID** = -1, **OHOS::AVSession::SESSION_DATA_META** = 0, **OHOS::AVSession::SESSION_DATA_PLAYBACK_STATE** = 1, **OHOS::AVSession::SESSION_DATA_CONTROL_COMMAND** = 2, **OHOS::AVSession::SESSION_DATA_CATEGORY_MAX** = 3
} | 会话元数据处理标识 | + + +## 类型定义说明 + + +### DeathCallback + + +``` +using OHOS::AVSession::DeathCallback = typedef std::function +``` +**描述:** +AVSession死亡回调 + + +## 枚举类型说明 + + +### SessionDataCategory + + +``` +enum OHOS::AVSession::SessionDataCategory +``` +**描述:** +会话元数据处理标识 + + | 枚举值 | 描述 | +| -------- | -------- | +| SESSION_DATA_CATEGORY_INVALID | 无效类型,内部用于类型是否有效 | +| SESSION_DATA_META | 会话元数据 | +| SESSION_DATA_PLAYBACK_STATE | 会话播放状态 | +| SESSION_DATA_CONTROL_COMMAND | 会话控制命令 | +| SESSION_DATA_CATEGORY_MAX | 会话数据类型的数量 | diff --git a/zh-cn/application-dev/reference/native-apis/avsession__manager_8h.md b/zh-cn/application-dev/reference/native-apis/avsession__manager_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..7b2ebbd07e351368fe938453be904b5f56181319 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/avsession__manager_8h.md @@ -0,0 +1,24 @@ +# avsession_manager.h + + +## 概述 + +定义了会话管理器对外接口的功能的实现。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Avsession](avsession.md) + + +## 汇总 + + +### 结构体 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::AVSessionManager](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md) | class
实现会话管理器对外接口功能的类的实现。 | diff --git a/zh-cn/application-dev/reference/native-apis/avsession__pixel__map_8h.md b/zh-cn/application-dev/reference/native-apis/avsession__pixel__map_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..8d5d6f7dad1a7aac3bd8908ed4d5ef32f47088c3 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/avsession__pixel__map_8h.md @@ -0,0 +1,44 @@ +# avsession_pixel_map.h + + +## 概述 + +读取、设置图片及图片信息。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Avsession](avsession.md) + + +## 汇总 + + +### 结构体 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::AVSessionPixelMap](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md) | class
读取、设置图片及图片信息。 | + + +### 变量 + + | 名称 | 描述 | +| -------- | -------- | +| [OHOS::AVSession::DEFAULT_BUFFER_SIZE](#default_buffer_size) = 160 \* 1024 | constexpr size_t
初始化容器大小为160KB | + + +## 变量说明 + + +### DEFAULT_BUFFER_SIZE + + +``` +constexpr size_t OHOS::AVSession::DEFAULT_BUFFER_SIZE = 160 * 1024 +``` +**描述:** +初始化容器大小为160KB diff --git a/zh-cn/application-dev/reference/native-apis/native__avcodec__audiodecoder_8h.md b/zh-cn/application-dev/reference/native-apis/native__avcodec__audiodecoder_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..372e9ea1c95bd30792f40f4a542c6cb56de96867 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/native__avcodec__audiodecoder_8h.md @@ -0,0 +1,37 @@ +# native_avcodec_audiodecoder.h + + +## 概述 + +声明用于音频解码的Native API。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[AudioDecoder](_audio_decoder.md) + + +## 汇总 + + +### 函数 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AudioDecoder_CreateByMime](_audio_decoder.md#oh_audiodecoder_createbymime) (const char \*mime) | OH_AVCodec \*
通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。 | +| [OH_AudioDecoder_CreateByName](_audio_decoder.md#oh_audiodecoder_createbyname) (const char \*name) | OH_AVCodec \*
通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 | +| [OH_AudioDecoder_Destroy](_audio_decoder.md#oh_audiodecoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空解码器内部资源,并销毁解码器实例 | +| [OH_AudioDecoder_SetCallback](_audio_decoder.md#oh_audiodecoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#oh_averrcode)
设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 | +| [OH_AudioDecoder_Configure](_audio_decoder.md#oh_audiodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 | +| [OH_AudioDecoder_Prepare](_audio_decoder.md#oh_audiodecoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
准备解码器内部资源,调用该接口前必须先调用Configure接口。 | +| [OH_AudioDecoder_Start](_audio_decoder.md#oh_audiodecoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | +| [OH_AudioDecoder_Stop](_audio_decoder.md#oh_audiodecoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 | +| [OH_AudioDecoder_Flush](_audio_decoder.md#oh_audiodecoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | +| [OH_AudioDecoder_Reset](_audio_decoder.md#oh_audiodecoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 | +| [OH_AudioDecoder_GetOutputDescription](_audio_decoder.md#oh_audiodecoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*
获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 | +| [OH_AudioDecoder_SetParameter](_audio_decoder.md#oh_audiodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 | +| [OH_AudioDecoder_PushInputData](_audio_decoder.md#oh_audiodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | [OH_AVErrCode](_core.md#oh_averrcode)
将填充好数据的输入Buffer提交给音频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程。 | +| [OH_AudioDecoder_FreeOutputData](_audio_decoder.md#oh_audiodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)
将处理结束的输出Buffer交还给解码器。 | diff --git a/zh-cn/application-dev/reference/native-apis/native__avcodec__audioencoder_8h.md b/zh-cn/application-dev/reference/native-apis/native__avcodec__audioencoder_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..80e6048b45a42b9f82d194525a0963132358022b --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/native__avcodec__audioencoder_8h.md @@ -0,0 +1,37 @@ +# native_avcodec_audioencoder.h + + +## 概述 + +声明用于音频编码的Native API。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[AudioEncoder](_audio_encoder.md) + + +## 汇总 + + +### 函数 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AudioEncoder_CreateByMime](_audio_encoder.md#oh_audioencoder_createbymime) (const char \*mime) | OH_AVCodec \*
通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。 | +| [OH_AudioEncoder_CreateByName](_audio_encoder.md#oh_audioencoder_createbyname) (const char \*name) | OH_AVCodec \*
通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 | +| [OH_AudioEncoder_Destroy](_audio_encoder.md#oh_audioencoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空编码器内部资源,并销毁编码器实例。 | +| [OH_AudioEncoder_SetCallback](_audio_encoder.md#oh_audioencoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#oh_averrcode)
设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 | +| [OH_AudioEncoder_Configure](_audio_encoder.md#oh_audioencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 | +| [OH_AudioEncoder_Prepare](_audio_encoder.md#oh_audioencoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
准备编码器内部资源,调用该接口前必须先调用Configure接口。 | +| [OH_AudioEncoder_Start](_audio_encoder.md#oh_audioencoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | +| [OH_AudioEncoder_Stop](_audio_encoder.md#oh_audioencoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
停止编码器。在停止后可通过Start重新进入Started状态。 | +| [OH_AudioEncoder_Flush](_audio_encoder.md#oh_audioencoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | +| [OH_AudioEncoder_Reset](_audio_encoder.md#oh_audioencoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 | +| [OH_AudioEncoder_GetOutputDescription](_audio_encoder.md#oh_audioencoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*
获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 | +| [OH_AudioEncoder_SetParameter](_audio_encoder.md#oh_audioencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 | +| [OH_AudioEncoder_PushInputData](_audio_encoder.md#oh_audioencoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | [OH_AVErrCode](_core.md#oh_averrcode)
将填充好数据的输入Buffer提交给音频编码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。 | +| [OH_AudioEncoder_FreeOutputData](_audio_encoder.md#oh_audioencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)
将处理结束的输出Buffer交还给编码器。 | diff --git a/zh-cn/application-dev/reference/native-apis/native__avcodec__base_8h.md b/zh-cn/application-dev/reference/native-apis/native__avcodec__base_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..3bf1d9f0890141e6995ac0a70e86195ef83ee295 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/native__avcodec__base_8h.md @@ -0,0 +1,79 @@ +# native_avcodec_base.h + + +## 概述 + +声明运行音视频编解码通用的结构体、字符常量、枚举。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[CodecBase](_codec_base.md) + + +## 汇总 + + +### 结构体 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) | struct
定义OH_AVCodec的Buffer描述信息。 | +| [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | struct
AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 | + + +### 类型定义 + + | 名称 | 描述 | +| -------- | -------- | +| **OHNativeWindow** | typedef struct NativeWindow | +| **OH_AVCodec** | typedef struct OH_AVCodec | +| [OH_AVCodecBufferFlags](_codec_base.md#oh_avcodecbufferflags) | typedef enum [OH_AVCodecBufferFlags](_codec_base.md#oh_avcodecbufferflags)
枚举OH_AVCodec的Buffer标记的类别。 | +| [OH_AVCodecBufferAttr](_codec_base.md#oh_avcodecbufferattr) | typedef struct [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)
定义OH_AVCodec的Buffer描述信息。 | +| [OH_AVCodecOnError](_codec_base.md#oh_avcodeconerror)) (OH_AVCodec \*codec, int32_t errorCode, void \*userData) | typedef void(\*
当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。 | +| [OH_AVCodecOnStreamChanged](_codec_base.md#oh_avcodeconstreamchanged)) (OH_AVCodec \*codec, OH_AVFormat \*format, void \*userData) | typedef void(\*
当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。 需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。 | +| [OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, void \*userData) | typedef void(\*
当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。 | +| [OH_AVCodecOnNewOutputData](_codec_base.md#oh_avcodeconnewoutputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) \*attr, void \*userData) | typedef void(\*
当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer, 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。 | +| [OH_AVCodecAsyncCallback](_codec_base.md#oh_avcodecasynccallback) | typedef struct [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)
AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 | +| [OH_MediaType](_codec_base.md#oh_mediatype) | typedef enum [OH_MediaType](_codec_base.md#oh_mediatype)
媒体类型。 | +| [OH_AVCProfile](_codec_base.md#oh_avcprofile) | typedef enum [OH_AVCProfile](_codec_base.md#oh_avcprofile)
AVC Profile枚举。 | +| [OH_AACProfile](_codec_base.md#oh_aacprofile) | typedef enum [OH_AACProfile](_codec_base.md#oh_aacprofile)
AAC Profile枚举。 | + + +### 枚举 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AVCodecBufferFlags](_codec_base.md#oh_avcodecbufferflags) {
**AVCODEC_BUFFER_FLAGS_NONE** = 0, **AVCODEC_BUFFER_FLAGS_EOS** = 1 << 0, **AVCODEC_BUFFER_FLAGS_SYNC_FRAME** = 1 << 1, **AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME** = 1 << 2,
**AVCODEC_BUFFER_FLAGS_CODEC_DATA** = 1 << 3
} | 枚举OH_AVCodec的Buffer标记的类别。 | +| [OH_MediaType](_codec_base.md#oh_mediatype) { **MEDIA_TYPE_AUD** = 0, **MEDIA_TYPE_VID** = 1 } | 媒体类型。 | +| [OH_AVCProfile](_codec_base.md#oh_avcprofile) { **AVC_PROFILE_BASELINE** = 0, **AVC_PROFILE_HIGH** = 4, **AVC_PROFILE_MAIN** = 8 } | AVC Profile枚举。 | +| [OH_AACProfile](_codec_base.md#oh_aacprofile) { **AAC_PROFILE_LC** = 0 } | AAC Profile枚举。 | + + +### 变量 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AVCODEC_MIMETYPE_VIDEO_AVC](_codec_base.md#oh_avcodec_mimetype_video_avc) | const char \*
AVC视频编解码器的MIME类型。 | +| [OH_AVCODEC_MIMETYPE_AUDIO_AAC](_codec_base.md#oh_avcodec_mimetype_audio_aac) | const char \*
AAC音频编解码器的MIME类型。 | +| [OH_ED_KEY_TIME_STAMP](_codec_base.md#oh_ed_key_time_stamp) | const char \*
提供统一的surface Buffer附属数据的字符描述符。 | +| [OH_ED_KEY_EOS](_codec_base.md#oh_ed_key_eos) | const char \* | +| [OH_MD_KEY_TRACK_TYPE](_codec_base.md#oh_md_key_track_type) | const char \*
为媒体播放框架提供统一的字符描述符。 | +| [OH_MD_KEY_CODEC_MIME](_codec_base.md#oh_md_key_codec_mime) | const char \* | +| [OH_MD_KEY_DURATION](_codec_base.md#oh_md_key_duration) | const char \* | +| [OH_MD_KEY_BITRATE](_codec_base.md#oh_md_key_bitrate) | const char \* | +| [OH_MD_KEY_MAX_INPUT_SIZE](_codec_base.md#oh_md_key_max_input_size) | const char \* | +| [OH_MD_KEY_WIDTH](_codec_base.md#oh_md_key_width) | const char \* | +| [OH_MD_KEY_HEIGHT](_codec_base.md#oh_md_key_height) | const char \* | +| [OH_MD_KEY_PIXEL_FORMAT](_codec_base.md#oh_md_key_pixel_format) | const char \* | +| [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](_codec_base.md#oh_md_key_audio_sample_format) | const char \* | +| [OH_MD_KEY_FRAME_RATE](_codec_base.md#oh_md_key_frame_rate) | const char \* | +| [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](_codec_base.md#oh_md_key_video_encode_bitrate_mode) | const char \* | +| [OH_MD_KEY_PROFILE](_codec_base.md#oh_md_key_profile) | const char \* | +| [OH_MD_KEY_AUD_CHANNEL_COUNT](_codec_base.md#oh_md_key_aud_channel_count) | const char \* | +| [OH_MD_KEY_AUD_SAMPLE_RATE](_codec_base.md#oh_md_key_aud_sample_rate) | const char \* | +| [OH_MD_KEY_I_FRAME_INTERVAL](_codec_base.md#oh_md_key_i_frame_interval) | const char \* | +| [OH_MD_KEY_ROTATION](_codec_base.md#oh_md_key_rotation) | const char \* | diff --git a/zh-cn/application-dev/reference/native-apis/native__avcodec__videodecoder_8h.md b/zh-cn/application-dev/reference/native-apis/native__avcodec__videodecoder_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..f562886c1013f6b5bd4ac6530cb300790374bdad --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/native__avcodec__videodecoder_8h.md @@ -0,0 +1,39 @@ +# native_avcodec_videodecoder.h + + +## 概述 + +声明用于视频解码的Native API。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[VideoDecoder](_video_decoder.md) + + +## 汇总 + + +### 函数 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_VideoDecoder_CreateByMime](_video_decoder.md#oh_videodecoder_createbymime) (const char \*mime) | OH_AVCodec \*
通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。 | +| [OH_VideoDecoder_CreateByName](_video_decoder.md#oh_videodecoder_createbyname) (const char \*name) | OH_AVCodec \*
通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 | +| [OH_VideoDecoder_Destroy](_video_decoder.md#oh_videodecoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空解码器内部资源,并销毁解码器实例。 | +| [OH_VideoDecoder_SetCallback](_video_decoder.md#oh_videodecoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#oh_averrcode)
设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 | +| [OH_VideoDecoder_SetSurface](_video_decoder.md#oh_videodecoder_setsurface) (OH_AVCodec \*codec, OHNativeWindow \*window) | [OH_AVErrCode](_core.md#oh_averrcode)
指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。 | +| [OH_VideoDecoder_Configure](_video_decoder.md#oh_videodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 | +| [OH_VideoDecoder_Prepare](_video_decoder.md#oh_videodecoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
准备解码器内部资源,调用该接口前必须先调用Configure接口。 | +| [OH_VideoDecoder_Start](_video_decoder.md#oh_videodecoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | +| [OH_VideoDecoder_Stop](_video_decoder.md#oh_videodecoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 | +| [OH_VideoDecoder_Flush](_video_decoder.md#oh_videodecoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | +| [OH_VideoDecoder_Reset](_video_decoder.md#oh_videodecoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 | +| [OH_VideoDecoder_GetOutputDescription](_video_decoder.md#oh_videodecoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*
获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 | +| [OH_VideoDecoder_SetParameter](_video_decoder.md#oh_videodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 | +| [OH_VideoDecoder_PushInputData](_video_decoder.md#oh_videodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | [OH_AVErrCode](_core.md#oh_averrcode)
将填充好数据的输入Buffer提交给视频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程,例如H264格式的PPS/SPS数据。 | +| [OH_VideoDecoder_RenderOutputData](_video_decoder.md#oh_videodecoder_renderoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)
将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。 如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。 | +| [OH_VideoDecoder_FreeOutputData](_video_decoder.md#oh_videodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)
将处理结束的输出Buffer交还给解码器。 | diff --git a/zh-cn/application-dev/reference/native-apis/native__avcodec__videoencoder_8h.md b/zh-cn/application-dev/reference/native-apis/native__avcodec__videoencoder_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..50cb054e61babe666a5cc1f1da4c470cd1c64594 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/native__avcodec__videoencoder_8h.md @@ -0,0 +1,52 @@ +# native_avcodec_videoencoder.h + + +## 概述 + +声明用于视频编码的Native API。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[VideoEncoder](_video_encoder.md) + + +## 汇总 + + +### 类型定义 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode) | typedef enum [OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode)
视频编码的比特率模式。 | + + +### 枚举 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode) { **CBR** = 0, **VBR** = 1, **CQ** = 2 } | 视频编码的比特率模式。 | + + +### 函数 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_VideoEncoder_CreateByMime](_video_encoder.md#oh_videoencoder_createbymime) (const char \*mime) | OH_AVCodec \*
通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。 | +| [OH_VideoEncoder_CreateByName](_video_encoder.md#oh_videoencoder_createbyname) (const char \*name) | OH_AVCodec \*
通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 | +| [OH_VideoEncoder_Destroy](_video_encoder.md#oh_videoencoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空编码器内部资源,并销毁编码器实例。 | +| [OH_VideoEncoder_SetCallback](_video_encoder.md#oh_videoencoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#oh_averrcode)
设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 | +| [OH_VideoEncoder_Configure](_video_encoder.md#oh_videoencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 | +| [OH_VideoEncoder_Prepare](_video_encoder.md#oh_videoencoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
准备编码器内部资源,调用该接口前必须先调用Configure接口。 | +| [OH_VideoEncoder_Start](_video_encoder.md#oh_videoencoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | +| [OH_VideoEncoder_Stop](_video_encoder.md#oh_videoencoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
停止编码器。在停止后可通过Start重新进入Started状态。 | +| [OH_VideoEncoder_Flush](_video_encoder.md#oh_videoencoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | +| [OH_VideoEncoder_Reset](_video_encoder.md#oh_videoencoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 | +| [OH_VideoEncoder_GetOutputDescription](_video_encoder.md#oh_videoencoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*
获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 | +| [OH_VideoEncoder_SetParameter](_video_encoder.md#oh_videoencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)
向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 | +| [OH_VideoEncoder_GetSurface](_video_encoder.md#oh_videoencoder_getsurface) (OH_AVCodec \*codec, OHNativeWindow \*\*window) | [OH_AVErrCode](_core.md#oh_averrcode)
从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。 | +| [OH_VideoEncoder_FreeOutputData](_video_encoder.md#oh_videoencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)
将处理结束的输出Buffer交还给编码器。 | +| [OH_VideoEncoder_NotifyEndOfStream](_video_encoder.md#oh_videoencoder_notifyendofstream) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)
通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。 | diff --git a/zh-cn/application-dev/reference/native-apis/native__averrors_8h.md b/zh-cn/application-dev/reference/native-apis/native__averrors_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..269d3a898d6261307b32f5833a037036279811aa --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/native__averrors_8h.md @@ -0,0 +1,31 @@ +# native_averrors.h + + +## 概述 + +声明了媒体播放框架的错误码。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Core](_core.md) + + +## 汇总 + + +### 类型定义 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AVErrCode](_core.md#oh_averrcode) | typedef enum [OH_AVErrCode](_core.md#oh_averrcode)
音视频错误码。 | + + +### 枚举 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AVErrCode](_core.md#oh_averrcode) {
**AV_ERR_OK** = 0, **AV_ERR_NO_MEMORY** = 1, **AV_ERR_OPERATE_NOT_PERMIT** = 2, **AV_ERR_INVALID_VAL** = 3, **AV_ERR_IO** = 4, **AV_ERR_TIMEOUT** = 5, **AV_ERR_UNKNOWN** = 6, **AV_ERR_SERVICE_DIED** = 7, **AV_ERR_INVALID_STATE** = 8, **AV_ERR_UNSUPPORT** = 9, **AV_ERR_EXTEND_START** = 100
} | 音视频错误码。 | diff --git a/zh-cn/application-dev/reference/native-apis/native__avformat_8h.md b/zh-cn/application-dev/reference/native-apis/native__avformat_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..4f22a67c0a508766a730251facad472e7b708b32 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/native__avformat_8h.md @@ -0,0 +1,54 @@ +# native_avformat.h + + +## 概述 + +声明了格式相关的函数和枚举。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Core](_core.md) + + +## 汇总 + + +### 类型定义 + + | 名称 | 描述 | +| -------- | -------- | +| **OH_AVFormat** | typedef struct OH_AVFormat | +| [OH_AVPixelFormat](_core.md#oh_avpixelformat) | typedef enum [OH_AVPixelFormat](_core.md#oh_avpixelformat)
AVPixel 格式的枚举。 | + + +### 枚举 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AVPixelFormat](_core.md#oh_avpixelformat) {
**AV_PIXEL_FORMAT_YUVI420** = 1, **AV_PIXEL_FORMAT_NV12** = 2, **AV_PIXEL_FORMAT_NV21** = 3, **AV_PIXEL_FORMAT_SURFACE_FORMAT** = 4, **AV_PIXEL_FORMAT_RGBA** = 5
} | AVPixel 格式的枚举。 | + + +### 函数 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AVFormat_Create](_core.md#oh_avformat_create) (void) | struct OH_AVFormat \*
创建一个OH_AVFormat句柄指针,用以读写数据。 | +| [OH_AVFormat_Destroy](_core.md#oh_avformat_destroy) (struct OH_AVFormat \*format) | void
销毁指定OH_AVFormat句柄资源。 | +| [OH_AVFormat_Copy](_core.md#oh_avformat_copy) (struct OH_AVFormat \*to, struct OH_AVFormat \*from) | bool
拷贝OH_AVFormat句柄资源. | +| [OH_AVFormat_SetIntValue](_core.md#oh_avformat_setintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t value) | bool
向OH_AVFormat写入Int数据. | +| [OH_AVFormat_SetLongValue](_core.md#oh_avformat_setlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t value) | bool
向OH_AVFormat写入Long数据。 | +| [OH_AVFormat_SetFloatValue](_core.md#oh_avformat_setfloatvalue) (struct OH_AVFormat \*format, const char \*key, float value) | bool
向OH_AVFormat写入Float数据。 | +| [OH_AVFormat_SetDoubleValue](_core.md#oh_avformat_setdoublevalue) (struct OH_AVFormat \*format, const char \*key, double value) | bool
向OH_AVFormat写入Double数据。 | +| [OH_AVFormat_SetStringValue](_core.md#oh_avformat_setstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*value) | bool
向OH_AVFormat写入String数据。 | +| [OH_AVFormat_SetBuffer](_core.md#oh_avformat_setbuffer) (struct OH_AVFormat \*format, const char \*key, const uint8_t \*addr, size_t size) | bool
向OH_AVFormat写入一块指定长度的数据。 | +| [OH_AVFormat_GetIntValue](_core.md#oh_avformat_getintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t \*out) | bool
从OH_AVFormat读取Int数据。 | +| [OH_AVFormat_GetLongValue](_core.md#oh_avformat_getlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t \*out) | bool
从OH_AVFormat读取Long数据。 | +| [OH_AVFormat_GetFloatValue](_core.md#oh_avformat_getfloatvalue) (struct OH_AVFormat \*format, const char \*key, float \*out) | bool
从OH_AVFormat读取Float数据。 | +| [OH_AVFormat_GetDoubleValue](_core.md#oh_avformat_getdoublevalue) (struct OH_AVFormat \*format, const char \*key, double \*out) | bool
从OH_AVFormat读取Double数据。 | +| [OH_AVFormat_GetStringValue](_core.md#oh_avformat_getstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*\*out) | bool
从OH_AVFormat读取Double数据。 | +| [OH_AVFormat_GetBuffer](_core.md#oh_avformat_getbuffer) (struct OH_AVFormat \*format, const char \*key, uint8_t \*\*addr, size_t \*size) | bool
从OH_AVFormat读取一块指定长度的数据。 | +| [OH_AVFormat_DumpInfo](_core.md#oh_avformat_dumpinfo) (struct OH_AVFormat \*format) | const char \*
以字符串的形式输出OH_AVFormat所包含的信息。 | diff --git a/zh-cn/application-dev/reference/native-apis/native__avmemory_8h.md b/zh-cn/application-dev/reference/native-apis/native__avmemory_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..18bdc665ff9fca8c6ed284718b6f10adee48bc86 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/native__avmemory_8h.md @@ -0,0 +1,32 @@ +# native_avmemory.h + + +## 概述 + +声明了AVMemory的函数接口。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Core](_core.md) + + +## 汇总 + + +### 类型定义 + + | 名称 | 描述 | +| -------- | -------- | +| **OH_AVMemory** | typedef struct OH_AVMemory | + + +### 函数 + + | 名称 | 描述 | +| -------- | -------- | +| [OH_AVMemory_GetAddr](_core.md#oh_avmemory_getaddr) (struct OH_AVMemory \*mem) | uint8_t \*
获取入参的内存虚拟地址。 | +| [OH_AVMemory_GetSize](_core.md#oh_avmemory_getsize) (struct OH_AVMemory \*mem) | int32_t
获取入参的内存长度。 | diff --git a/zh-cn/application-dev/reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md b/zh-cn/application-dev/reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md new file mode 100644 index 0000000000000000000000000000000000000000..914cd75fe533935144971e0a8d0cfbaaeff13a72 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md @@ -0,0 +1,37 @@ +# OHOS::AVSession::AVSessionBasicInfo + + +## 概述 + +会话基础信息描述。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Avsession](avsession.md) + + +## 汇总 + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| [deviceName_](avsession.md#devicename) {} | std::string | +| [networkId_](avsession.md#networkid) {} | std::string | +| [vendorId_](avsession.md#vendorid) {} | std::string | +| [deviceType_](avsession.md#devicetype) {} | std::string | +| [systemVersion_](avsession.md#systemversion) {} | std::string | +| [sessionVersion_](avsession.md#sessionversion) {} | int32_t | +| [reserve_](avsession.md#reserve) {} | std::vector< int32_t > | +| [feature_](avsession.md#feature) {} | std::vector< int32_t > | +| [metaDataCap_](avsession.md#metadatacap) {} | std::vector< int32_t > | +| [playBackStateCap_](avsession.md#playbackstatecap) {} | std::vector< int32_t > | +| [controlCommandCap_](avsession.md#controlcommandcap) {} | std::vector< int32_t > | +| [extendCapability_](avsession.md#extendcapability) {} | std::vector< int32_t > | +| [systemTime_](avsession.md#systemtime) {} | int32_t | +| [extend_](avsession.md#extend) {} | std::vector< int32_t > | diff --git a/zh-cn/application-dev/reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md b/zh-cn/application-dev/reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md new file mode 100644 index 0000000000000000000000000000000000000000..337f6045d9771b88cc7e253a8a5ae616ca95aa3b --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md @@ -0,0 +1,328 @@ +# OHOS::AVSession::AVSessionController + + +## 概述 + +控制器对象,可获取会话的播放状态和会话元数据,远程发送控制命令到会话端也可以通过订阅监听会话段的更新事件。 + + +## 汇总 + + +### Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [GetAVPlaybackState](#getavplaybackstate) ([AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md) &state)=0 | 获取音视频的播放状态。  | +| [GetAVMetaData](#getavmetadata) ([AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md) &data)=0 | 获取会话元数据。  | +| [SendAVKeyEvent](#sendavkeyevent) (const MMI::KeyEvent &keyEvent)=0 | 发送系统按键事件。  | +| [GetLaunchAbility](#getlaunchability) (AbilityRuntime::WantAgent::WantAgent &ability)=0 | 获取Ability。  | +| [GetValidCommands](#getvalidcommands) (std::vector< int32_t > &cmds)=0 | 获取媒体有效的指令。  | +| [IsSessionActive](#issessionactive) (bool &isActive)=0 | 获取session的激活状态。  | +| [SendControlCommand](#sendcontrolcommand) (const [AVControlCommand](_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md) &cmd)=0 | 发送媒体控制指令。  | +| [RegisterCallback](#registercallback) (const std::shared_ptr< [AVControllerCallback](_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md) > &callback)=0 | 注册回调。  | +| [SetMetaFilter](#setmetafilter) (const [AVMetaData::MetaMaskType](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md#metamasktype) &filter)=0 | 设置会话元数据过滤。  | +| [SetPlaybackFilter](#setplaybackfilter) (const AVPlaybackState::PlaybackStateMaskType &filter)=0 | 设置音视频的播放状态回调过滤。  | +| [Destroy](#destroy) ()=0 | 释放控制器。  | +| [GetSessionId](#getsessionid) ()=0 | 获取sessionId。  | +| [GetRealPlaybackPosition](#getrealplaybackposition) ()=0 | 获取播放的实时位置,第 x ms。  | +| [IsDestroy](#isdestroy) ()=0 | 是否释放控制器。  | + + +## 成员函数说明 + + +### Destroy() + + +``` +virtual int32_t OHOS::AVSession::AVSessionController::Destroy () +``` +**描述:** +释放控制器。 + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### GetAVMetaData() + + +``` +virtual int32_t OHOS::AVSession::AVSessionController::GetAVMetaData (AVMetaData & data) +``` +**描述:** +获取会话元数据。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| data | 会话元数据[AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md)。  | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[AVSession::SetAVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#setavmetadata) + +[AVSession::GetAVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#getavmetadata) + + +### GetAVPlaybackState() + + +``` +virtual int32_t OHOS::AVSession::AVSessionController::GetAVPlaybackState (AVPlaybackState & state) +``` +**描述:** +获取音视频的播放状态。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| state | 音视频的播放状态[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)。  | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[AVSession::SetAVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#setavplaybackstate) + +[AVSession::GetAVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#getavplaybackstate) + + +### GetLaunchAbility() + + +``` +virtual int32_t OHOS::AVSession::AVSessionController::GetLaunchAbility (AbilityRuntime::WantAgent::WantAgent & ability) +``` +**描述:** +获取Ability。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| ability | 类型为**AbilityRuntime::WantAgent::WantAgent**。  | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[AVSession::SetLaunchAbility](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#setlaunchability) + + +### GetRealPlaybackPosition() + + +``` +virtual int64_t OHOS::AVSession::AVSessionController::GetRealPlaybackPosition () +``` +**描述:** +获取播放的实时位置,第 x ms。 + +**返回:** + +返回播放的实时位置,第x ms,经过校正过的时间,单位为ms。 + + +### GetSessionId() + + +``` +virtual std::string OHOS::AVSession::AVSessionController::GetSessionId () +``` +**描述:** +获取sessionId。 + +**返回:** + +返回sessionId。 + + +### GetValidCommands() + + +``` +virtual int32_t OHOS::AVSession::AVSessionController::GetValidCommands (std::vector< int32_t > & cmds) +``` +**描述:** +获取媒体有效的指令。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| cmds | 媒体有效的指令列表,范围为**SESSION_CMD_INVALID**到**SESSION_CMD_MAX**。  | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[SendControlCommand](#sendcontrolcommand) + +[AVSession::AddSupportCommand](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#addsupportcommand) + +[AVSession::DeleteSupportCommand](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#deletesupportcommand) + + +### IsDestroy() + + +``` +virtual bool OHOS::AVSession::AVSessionController::IsDestroy () +``` +**描述:** +是否释放控制器。 + +**返回:** + +true:释放;false:不释放。 + + +### IsSessionActive() + + +``` +virtual int32_t OHOS::AVSession::AVSessionController::IsSessionActive (bool & isActive) +``` +**描述:** +获取session的激活状态。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| isActive | session是否激活。  | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[AVSession::Activate](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#activate) + +[AVSession::Deactivate](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#deactivate) + +[AVSession::IsActive](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#isactive) + + +### RegisterCallback() + + +``` +virtual int32_t OHOS::AVSession::AVSessionController::RegisterCallback (const std::shared_ptr< AVControllerCallback > & callback) +``` +**描述:** +注册回调。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| callback | 需要注册的回调,类型为[AVControllerCallback](_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md)。  | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### SendAVKeyEvent() + + +``` +virtual int32_t OHOS::AVSession::AVSessionController::SendAVKeyEvent (const MMI::KeyEvent & keyEvent) +``` +**描述:** +发送系统按键事件。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| keyEvent | 按键事件码,类型为**MMI::KeyEvent**。  | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[AVSessionManager::SendSystemAVKeyEvent](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md#sendsystemavkeyevent) + + +### SendControlCommand() + + +``` +virtual int32_t OHOS::AVSession::AVSessionController::SendControlCommand (const AVControlCommand & cmd) +``` +**描述:** +发送媒体控制指令。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| cmd | 媒体控制指令,类型为[AVControlCommand](_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md)。  | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + +**参见:** + +[GetValidCommands](#getvalidcommands) + + +### SetMetaFilter() + + +``` +virtual int32_t OHOS::AVSession::AVSessionController::SetMetaFilter (const AVMetaData::MetaMaskType & filter) +``` +**描述:** +设置会话元数据过滤。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| filter | 会话元数据过滤,类型为[AVMetaData#MetaMaskType](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md#metamasktype)。  | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 + + +### SetPlaybackFilter() + + +``` +virtual int32_t OHOS::AVSession::AVSessionController::SetPlaybackFilter (const AVPlaybackState::PlaybackStateMaskType & filter) +``` +**描述:** +设置音视频的播放状态回调过滤。 + +**参数:** + + | 名称 | 描述 | +| -------- | -------- | +| filter | 音视频播放状态回调过滤,类型为**AVPlaybackState\#PlaybackStateMaskType**。  | + +**返回:** + +成功返回**AVSESSION_SUCCESS**;失败则返回对应错误码。 diff --git a/zh-cn/application-dev/reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md b/zh-cn/application-dev/reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md new file mode 100644 index 0000000000000000000000000000000000000000..57780778a727a5b2e364d426a5392c20f8951ac5 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md @@ -0,0 +1,41 @@ +# OHOS::AVSession::AVSessionDescriptor + + +## 概述 + +会话的相关描述信息。 + +**Since:** +9 +**Version:** +1.0 +**相关模块:** + +[Avsession](avsession.md) + + +## 汇总 + + +### Public 成员函数 + + | 名称 | 描述 | +| -------- | -------- | +| [WriteToParcel](avsession.md#writetoparcel) (Parcel &out) const | 将会话相关描述信息写进包里。  | +| [ReadFromParcel](avsession.md#readfromparcel) (Parcel &in) | 对会话相关描述信息进行解包。  | + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| [sessionId_](avsession.md#sessionid) | std::string | +| [sessionType_](avsession.md#sessiontype) {} | int32_t | +| [sessionTag_](avsession.md#sessiontag) | std::string | +| [elementName_](avsession.md#elementname) | AppExecFwk::ElementName | +| [pid_](avsession.md#pid) {} | pid_t | +| [uid_](avsession.md#uid) {} | pid_t | +| [isActive_](avsession.md#isactive) {} | bool | +| [isTopSession_](avsession.md#istopsession) {} | bool | +| [isThirdPartyApp_](avsession.md#isthirdpartyapp) {} | bool | +| [outputDeviceInfo_](avsession.md#outputdeviceinfo) | [OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md) | diff --git a/zh-cn/application-dev/website.md b/zh-cn/application-dev/website.md index 7643154a772777a12e57be84b1c8e234f71f5ef8..8a76801768519b247fd04b29ef5e9852e313cfac 100644 --- a/zh-cn/application-dev/website.md +++ b/zh-cn/application-dev/website.md @@ -364,6 +364,8 @@ - [媒体资源使用指导](file-management/medialibrary-resource-guidelines.md) - [文件路径使用指导](file-management/medialibrary-filepath-guidelines.md) - [相册资源使用指导](file-management/medialibrary-album-guidelines.md) + - 文件访问框架 + - [用户公共文件访问框架概述](file-management/file-access-framework-overview.md) - 任务管理 - 后台任务 - [后台任务概述](task-management/background-task-overview.md) @@ -398,12 +400,9 @@ - [设备使用信息统计概述](device-usage-statistics/device-usage-statistics-overview.md) - [设备使用信息统计开发指导](device-usage-statistics/device-usage-statistics-use-guide.md) - DFX - - 应用事件打点 - - [应用事件打点开发指导](dfx/hiappevent-guidelines.md) - - 性能打点跟踪 - - [性能打点跟踪开发指导](dfx/hitracemeter-guidelines.md) - - 分布式跟踪 - - [分布式跟踪开发指导](dfx/hitracechain-guidelines.md) + - [应用事件打点开发指导](dfx/hiappevent-guidelines.md) + - [性能打点跟踪开发指导](dfx/hitracemeter-guidelines.md) + - [分布式跟踪开发指导](dfx/hitracechain-guidelines.md) - 错误管理 - [错误管理开发指导](dfx/errormanager-guidelines.md) - [应用恢复开发指导](dfx/apprecovery-guidelines.md) @@ -471,20 +470,20 @@ - [Neural Network Runtime对接AI推理框架开发指导](napi/neural-network-runtime-guidelines.md) - 工具 - [DevEco Studio(OpenHarmony)使用指南](quick-start/deveco-studio-user-guide-for-openharmony.md) - - [aa工具](tools/aa-tool.md) - - [bm工具](tools/bm-tool.md) - - 打包拆包工具 - - [打包工具](tools/packing-tool.md) - - [拆包工具](tools/unpacking-tool.md) - - [anm工具](tools/anm-tool.md) - - [cem工具](tools/cem-tool.md) + - 调试工具 + - [aa工具](tools/aa-tool.md) + - [bm工具](tools/bm-tool.md) + - 打包拆包工具 + - [打包工具](tools/packing-tool.md) + - [拆包工具](tools/unpacking-tool.md) + - [anm工具](tools/anm-tool.md) + - [cem工具](tools/cem-tool.md) - 示例教程 - [示例代码](https://gitee.com/openharmony/applications_app_samples/blob/master/README_zh.md) - [Codelabs](https://gitee.com/openharmony/codelabs/blob/master/README.md) - API参考 - [系统能力SystemCapability使用指南](reference/syscap.md) - [系统能力SystemCapability列表](reference/syscap-list.md) - - [Syscap列表](reference/syscap-list.md) - 组件参考(基于ArkTS的声明式开发范式) - [组件导读](reference/arkui-ts/ts-components-summary.md) - 组件通用信息 @@ -588,7 +587,6 @@ - [Counter](reference/arkui-ts/ts-container-counter.md) - [Flex](reference/arkui-ts/ts-container-flex.md) - [FlowItem](reference/arkui-ts/ts-container-flowitem.md) - - [GridContainer](reference/arkui-ts/ts-container-gridcontainer.md) - [GridCol](reference/arkui-ts/ts-container-gridcol.md) - [GridRow](reference/arkui-ts/ts-container-gridrow.md) - [Grid](reference/arkui-ts/ts-container-grid.md) @@ -651,7 +649,7 @@ - [枚举说明](reference/arkui-ts/ts-appendix-enums.md) - [类型说明](reference/arkui-ts/ts-types.md) - 已停止维护的组件 - - [GridContainer(栅格)](reference/arkui-ts/ts-container-gridcontainer.md) + - [GridContainer](reference/arkui-ts/ts-container-gridcontainer.md) - 组件参考(兼容JS的类Web开发范式) - 组件通用信息 - [通用属性](reference/arkui-js/js-components-common-attributes.md) @@ -792,43 +790,61 @@ - [text](reference/js-service-widget-ui/js-service-widget-basic-text.md) - [自定义组件使用说明](reference/js-service-widget-ui/js-service-widget-custom-basic-usage.md) - [数据类型说明](reference/js-service-widget-ui/js-service-widget-appendix-types.md) - - 接口参考(JS及TS API) + - 接口参考(ArkTS及JS API) - [开发说明](reference/apis/development-intro.md) - Ability框架 - - FA模型 - - [@ohos.ability.ability (Ability)](reference/apis/js-apis-ability-ability.md) - - [@ohos.ability.featureAbility (FeatureAbility模块)](reference/apis/js-apis-ability-featureAbility.md) - - [@ohos.ability.particleAbility (ParticleAbility模块)](reference/apis/js-apis-ability-particleAbility.md) - - ability/[dataAbilityHelper (DataAbilityHelper模块)](reference/apis/js-apis-inner-ability-dataAbilityHelper.md) - - app/[context (Context模块)](reference/apis/js-apis-inner-app-context.md) - - Stage模型 + - Stage模型能力的接口(推荐) - [@ohos.app.ability.Ability (Ability基类)](reference/apis/js-apis-app-ability-ability.md) - - [@ohos.app.ability.UIAbility (UIAbility)](reference/apis/js-apis-app-ability-uiAbility.md) - - [@ohos.app.ability.StartOptions (StartOptions)](reference/apis/js-apis-app-ability-startOptions.md) - [@ohos.app.ability.AbilityConstant (AbilityConstant)](reference/apis/js-apis-app-ability-abilityConstant.md) - - [@ohos.app.ability.AbilityStage (AbilityStage)](reference/apis/js-apis-app-ability-abilityStage.md) - [@ohos.app.ability.abilityLifecycleCallback (AbilityLifecycleCallback)](reference/apis/js-apis-app-ability-abilityLifecycleCallback.md) + - [@ohos.app.ability.AbilityStage (AbilityStage)](reference/apis/js-apis-app-ability-abilityStage.md) + - [@ohos.app.ability.common (应用上下文Context)](reference/apis/js-apis-app-ability-common.md) + - [@ohos.app.ability.contextConstant (ContextConstant)](reference/apis/js-apis-app-ability-contextConstant.md) - [@ohos.app.ability.EnvironmentCallback (EnvironmentCallback)](reference/apis/js-apis-app-ability-environmentCallback.md) - - [@ohos.app.ability.ExtensionAbility(扩展能力基类)](reference/apis/js-apis-app-ability-extensionAbility.md) + - [@ohos.app.ability.ExtensionAbility (扩展能力基类)](reference/apis/js-apis-app-ability-extensionAbility.md) - [@ohos.app.ability.ServiceExtensionAbility (ServiceExtensionAbility)](reference/apis/js-apis-app-ability-serviceExtensionAbility.md) - - [@ohos.app.form.FormExtensionAbility(FormExtensionAbility)](reference/apis/js-apis-app-form-formExtensionAbility.md) + - [@ohos.app.ability.StartOptions (StartOptions)](reference/apis/js-apis-app-ability-startOptions.md) + - [@ohos.app.ability.UIAbility (UIAbility)](reference/apis/js-apis-app-ability-uiAbility.md) + - [@ohos.app.form.FormExtensionAbility (FormExtensionAbility)](reference/apis/js-apis-app-form-formExtensionAbility.md) + - Stage模型能力的接口(待停用) + - [@ohos.application.Ability (Ability)](reference/apis/js-apis-application-ability.md) + - [@ohos.application.AbilityConstant (AbilityConstant)](reference/apis/js-apis-application-abilityConstant.md) + - [@ohos.application.AbilityLifecycleCallback (AbilityLifecycleCallback)](reference/apis/js-apis-application-abilityLifecycleCallback.md) + - [@ohos.application.AbilityStage (AbilityStage)](reference/apis/js-apis-application-abilityStage.md) + - [@ohos.application.context (Context)](reference/apis/js-apis-application-context.md) - [@ohos.application.DataShareExtensionAbility (数据共享扩展能力)](reference/apis/js-apis-application-dataShareExtensionAbility.md) + - [@ohos.application.EnvironmentCallback (EnvironmentCallback)](reference/apis/js-apis-application-environmentCallback.md) + - [@ohos.application.ExtensionAbility (ExtensionAbility)](reference/apis/js-apis-application-extensionAbility.md) + - [@ohos.application.FormExtension (FormExtension)](reference/apis/js-apis-application-formExtension.md) + - [@ohos.application.ServiceExtensionAbility (ServiceExtensionAbility)](reference/apis/js-apis-application-serviceExtensionAbility.md) + - [@ohos.application.StartOptions (StartOptions)](reference/apis/js-apis-application-startOptions.md) - [@ohos.application.StaticSubscriberExtensionAbility (StaticSubscriberExtensionAbility)](reference/apis/js-apis-application-staticSubscriberExtensionAbility.md) - - [@ohos.application.WindowExtensionAbility (窗口扩展能力)](reference/apis/js-apis-application-windowExtensionAbility.md) - - [@ohos.app.ability.common(应用上下文Context)](reference/apis/js-apis-app-ability-common.md) - - application/[ApplicationContext (ApplicationContext)](reference/apis/js-apis-inner-application-applicationContext.md) - - application/[AbilityStageContext (AbilityStageContext)](reference/apis/js-apis-inner-application-abilityStageContext.md) - - application/[Context (Context)](reference/apis/js-apis-inner-application-context.md) - - application/[UIAbilityContext (UIAbilityContext)](reference/apis/js-apis-inner-application-uiAbilityContext.md) - - application/[ExtensionContext (ExtensionContext)](reference/apis/js-apis-inner-application-extensionContext.md) - - application/[FormExtensionContext (FormExtensionContext)](reference/apis/js-apis-inner-application-formExtensionContext.md) - - application/[ServiceExtensionContext (ServiceExtensionContext)](reference/apis/js-apis-inner-application-serviceExtensionContext.md) - - application/[PermissionRequestResult (PermissionRequestResult)](reference/apis/js-apis-inner-application-permissionRequestResult.md) - - 通用 + - FA模型能力的接口 + - [@ohos.ability.ability (Ability)](reference/apis/js-apis-ability-ability.md) + - [@ohos.ability.featureAbility (FeatureAbility模块)](reference/apis/js-apis-ability-featureAbility.md) + - [@ohos.ability.particleAbility (ParticleAbility模块)](reference/apis/js-apis-ability-particleAbility.md) + - 通用能力的接口(推荐) + - [@ohos.app.ability.abilityDelegatorRegistry (AbilityDelegatorRegistry)](reference/apis/js-apis-app-ability-abilityDelegatorRegistry.md) + - [@ohos.app.ability.abilityManager (AbilityManager)](reference/apis/js-apis-app-ability-abilityManager.md) + - [@ohos.app.ability.appManager (appManager)](reference/apis/js-apis-app-ability-appManager.md) + - [@ohos.app.ability.appRecovery (appRecovery)](reference/apis/js-apis-app-ability-appRecovery.md) + - [@ohos.app.ability.Configuration (Configuration)](reference/apis/js-apis-app-ability-configuration.md) + - [@ohos.app.ability.ConfigurationConstant (ConfigurationConstant)](reference/apis/js-apis-app-ability-configurationConstant.md) + - [@ohos.app.ability.dataUriUtils (DataUriUtils模块)](reference/apis/js-apis-app-ability-dataUriUtils.md) + - [@ohos.app.ability.errorManager (ErrorManager)](reference/apis/js-apis-app-ability-errorManager.md) + - [@ohos.app.ability.missionManager (missionManager)](reference/apis/js-apis-app-ability-missionManager.md) + - [@ohos.app.ability.quickFixManager (quickFixManager)](reference/apis/js-apis-app-ability-quickFixManager.md) + - [@ohos.app.ability.Want (Want)](reference/apis/js-apis-app-ability-want.md) + - [@ohos.app.ability.wantAgent (WantAgent模块)](reference/apis/js-apis-app-ability-wantAgent.md) + - [@ohos.app.ability.wantConstant (wantConstant)](reference/apis/js-apis-app-ability-wantConstant.md) + - [@ohos.app.form.formBindingData (卡片数据绑定类)](reference/apis/js-apis-app-form-formBindingData.md) + - [@ohos.app.form.formHost (FormHost)](reference/apis/js-apis-app-form-formHost.md) + - [@ohos.app.form.formInfo (FormInfo)](reference/apis/js-apis-app-form-formInfo.md) + - [@ohos.app.form.formProvider (FormProvider)](reference/apis/js-apis-app-form-formProvider.md) + - 通用能力的接口(待停用) - [@ohos.ability.dataUriUtils (DataUriUtils模块)](reference/apis/js-apis-ability-dataUriUtils.md) - [@ohos.ability.errorCode (ErrorCode)](reference/apis/js-apis-ability-errorCode.md) - [@ohos.ability.wantConstant (wantConstant)](reference/apis/js-apis-ability-wantConstant.md) - - [@ohos.app.ability.appRecovery (appRecovery)](reference/apis/js-apis-app-ability-appRecovery.md) - [@ohos.application.abilityDelegatorRegistry (AbilityDelegatorRegistry)](reference/apis/js-apis-application-abilityDelegatorRegistry.md) - [@ohos.application.abilityManager (AbilityManager)](reference/apis/js-apis-application-abilityManager.md) - [@ohos.application.appManager (appManager)](reference/apis/js-apis-application-appManager.md) @@ -841,27 +857,71 @@ - [@ohos.application.formInfo (FormInfo)](reference/apis/js-apis-application-formInfo.md) - [@ohos.application.formProvider (FormProvider)](reference/apis/js-apis-application-formProvider.md) - [@ohos.application.missionManager (missionManager)](reference/apis/js-apis-application-missionManager.md) - - [@ohos.application.quickFixManager (quickFixManager)](reference/apis/js-apis-app-ability-quickFixManager.md) - - [@ohos.application.Want (Want)](reference/apis/js-apis-app-ability-want.md) - - [@ohos.continuation.continuationManager (continuationManager)](reference/apis/js-apis-continuation-continuationManager.md) + - [@ohos.application.Want (Want)](reference/apis/js-apis-application-want.md) - [@ohos.wantAgent (WantAgent模块)](reference/apis/js-apis-wantAgent.md) - - [abilityResult (AbilityResult)](reference/apis/js-apis-inner-ability-abilityResult.md) - - [Want (Want)](reference/apis/js-apis-application-want.md) - - [abilityDelegator (AbilityDelegator)](reference/apis/js-apis-inner-application-abilityDelegator.md) - - [abilityDelegatorArgs (AbilityDelegatorArgs)](reference/apis/js-apis-inner-application-abilityDelegatorArgs.md) - - [abilityMonitor (AbilityMonitor)](reference/apis/js-apis-application-abilityMonitor.md) - - [AbilityRunningInfo (AbilityRunningInfo)](reference/apis/js-apis-inner-application-abilityRunningInfo.md) - - [ExtensionRunningInfo (ExtensionRunningInfo)](reference/apis/js-apis-inner-application-extensionRunningInfo.md) - - [MissionSnapshot (MissionSnapshot)](reference/apis/js-apis-inner-application-missionSnapshot.md) - - [ProcessRunningInformation (ProcessRunningInformation)](reference/apis/js-apis-inner-application-processRunningInformation.md) - - [shellCmdResult (ShellCmdResult)](reference/apis/js-apis-inner-application-shellCmdResult.md) - - [continuationExtraParams (ContinuationExtraParams)](reference/apis/js-apis-continuation-continuationExtraParams.md) - - [continuationResult (ContinuationResult)](reference/apis/js-apis-continuation-continuationResult.md) + - 接口依赖的元素及定义 + - ability + - [abilityResult](reference/apis/js-apis-inner-ability-abilityResult.md) + - [connectOptions](reference/apis/js-apis-inner-ability-connectOptions.md) + - [dataAbilityHelper](reference/apis/js-apis-inner-ability-dataAbilityHelper.md) + - [dataAbilityOperation](reference/apis/js-apis-inner-ability-dataAbilityOperation.md) + - [dataAbilityResult](reference/apis/js-apis-inner-ability-dataAbilityResult.md) + - [startAbilityParameter](reference/apis/js-apis-inner-ability-startAbilityParameter.md) + - [want](reference/apis/js-apis-inner-ability-want.md) + - app + - [appVersionInfo](reference/apis/js-apis-inner-app-appVersionInfo.md) + - [context](reference/apis/js-apis-inner-app-context.md) + - [processInfo](reference/apis/js-apis-inner-app-processInfo.md) + - application + - [AbilityContext](reference/apis/js-apis-ability-context.md) + - [abilityDelegator](reference/apis/js-apis-inner-application-abilityDelegator.md) + - [abilityDelegatorArgs](reference/apis/js-apis-inner-application-abilityDelegatorArgs.md) + - [abilityMonitor](reference/apis/js-apis-inner-application-abilityMonitor.md) + - [AbilityRunningInfo](reference/apis/js-apis-inner-application-abilityRunningInfo.md) + - [AbilityStageContext](reference/apis/js-apis-inner-application-abilityStageContext.md) + - [AbilityStateData](reference/apis/js-apis-inner-application-abilityStateData.md) + - [abilityStageMonitor](reference/apis/js-apis-inner-application-abilityStageMonitor.md) + - [ApplicationContext](reference/apis/js-apis-inner-application-applicationContext.md) + - [ApplicationStateObserver](reference/apis/js-apis-inner-application-applicationStateObserver.md) + - [AppStateData](reference/apis/js-apis-inner-application-appStateData.md) + - [BaseContext](reference/apis/js-apis-inner-application-baseContext.md) + - [Context](reference/apis/js-apis-inner-application-context.md) + - [ContinueCallback](reference/apis/js-apis-inner-application-continueCallback.md) + - [ContinueDeviceInfo](reference/apis/js-apis-inner-application-continueDeviceInfo.md) + - [ErrorObserver](reference/apis/js-apis-inner-application-errorObserver.md) + - [ExtensionContext](reference/apis/js-apis-inner-application-extensionContext.md) + - [ExtensionRunningInfo](reference/apis/js-apis-inner-application-extensionRunningInfo.md) + - [FormExtensionContext](reference/apis/js-apis-inner-application-formExtensionContext.md) + - [MissionCallbacks](reference/apis/js-apis-inner-application-missionCallbacks.md) + - [MissionDeviceInfo](reference/apis/js-apis-inner-application-missionDeviceInfo.md) + - [MissionInfo](reference/apis/js-apis-inner-application-missionInfo.md) + - [MissionListener](reference/apis/js-apis-inner-application-missionListener.md) + - [MissionParameter](reference/apis/js-apis-inner-application-missionParameter.md) + - [MissionSnapshot](reference/apis/js-apis-inner-application-missionSnapshot.md) + - [PermissionRequestResult](reference/apis/js-apis-inner-application-permissionRequestResult.md) + - [ProcessData](reference/apis/js-apis-inner-application-processData.md) + - [ProcessRunningInfo](reference/apis/js-apis-inner-application-processRunningInfo.md) + - [ProcessRunningInformation](reference/apis/js-apis-inner-application-processRunningInformation.md) + - [ServiceExtensionContext](reference/apis/js-apis-inner-application-serviceExtensionContext.md) + - [UIAbilityContext](reference/apis/js-apis-inner-application-uiAbilityContext.md) + - [shellCmdResult](reference/apis/js-apis-inner-application-shellCmdResult.md) + - wantAgent + - [triggerInfo](reference/apis/js-apis-inner-wantAgent-triggerInfo.md) + - [wantAgentInfo](reference/apis/js-apis-inner-wantAgent-wantAgentInfo.md) + - 流转 + - [@ohos.continuation.continuationManager (continuationManager)](reference/apis/js-apis-continuation-continuationManager.md) + - continuation + - [continuationExtraParams](reference/apis/js-apis-continuation-continuationExtraParams.md) + - [continuationResult](reference/apis/js-apis-continuation-continuationResult.md) - 公共事件与通知 - [@ohos.commonEventManager (公共事件模块)](reference/apis/js-apis-commonEventManager.md) - [@ohos.events.emitter (Emitter)](reference/apis/js-apis-emitter.md) - - [@ohos.notification (Notification模块)](reference/apis/js-apis-notification.md) - - [EventHub (EventHub)](reference/apis/js-apis-inner-application-eventHub.md) + - [@ohos.notificationManager (NotificationManager模块)(推荐)](reference/apis/js-apis-notificationManager.md) + - [@ohos.notificationSubscribe (NotificationSubscribe模块)(推荐)](reference/apis/js-apis-notificationSubscribe.md) + - [@ohos.commonEvent (公共事件模块)(待停用)](reference/apis/js-apis-commonEvent.md) + - [@ohos.notification (Notification模块)(待停用)](reference/apis/js-apis-notification.md) + - application + - [EventHub](reference/apis/js-apis-inner-application-eventHub.md) - 包管理 - [@ohos.bundle.appControl(appControl模块)](reference/apis/js-apis-appControl.md) - [@ohos.bundle.bundleManager (bundleManager模块)](reference/apis/js-apis-bundleManager.md) @@ -872,19 +932,20 @@ - [@ohos.bundle.installer (installer模块)](reference/apis/js-apis-installer.md) - [@ohos.bundle.launcherBundleManager (launcherBundleManager模块)](reference/apis/js-apis-launcherBundleManager.md) - [@ohos.zlib (Zip模块)](reference/apis/js-apis-zlib.md) - - [abilityInfo (AbilityInfo)](reference/apis/js-apis-bundleManager-abilityInfo.md) - - [applicationInfo (ApplicationInfo)](reference/apis/js-apis-bundleManager-applicationInfo.md) - - [bundleInfo (BundleInfo)](reference/apis/js-apis-bundleManager-bundleInfo.md) - - [dispatchInfo (DispatchInfo)](reference/apis/js-apis-bundleManager-dispatchInfo.md) - - [elementName (ElementName)](reference/apis/js-apis-bundleManager-elementName.md) - - [extensionAbilityInfo (ExtensionAbilityInfo)](reference/apis/js-apis-bundleManager-extensionAbilityInfo.md) - - [hapModuleInfo (HapModuleInfo)](reference/apis/js-apis-bundleManager-hapModuleInfo.md) - - [launcherAbilityInfo (LauncherAbilityInfo)](reference/apis/js-apis-bundleManager-launcherAbilityInfo.md) - - [metadata (Metadata)](reference/apis/js-apis-bundleManager-metadata.md) - - [packInfo (PackInfo)](reference/apis/js-apis-bundleManager-packInfo.md) - - [permissionDef (PermissionDef)](reference/apis/js-apis-bundleManager-permissionDef.md) - - [remoteAbilityInfo (RemoteAbilityInfo)](reference/apis/js-apis-bundleManager-remoteAbilityInfo.md) - - [shortcutInfo (ShortcutInfo)](reference/apis/js-apis-bundleManager-shortcutInfo.md) + - bundleManager + - [abilityInfo](reference/apis/js-apis-bundleManager-abilityInfo.md) + - [applicationInfo](reference/apis/js-apis-bundleManager-applicationInfo.md) + - [bundleInfo](reference/apis/js-apis-bundleManager-bundleInfo.md) + - [dispatchInfo](reference/apis/js-apis-bundleManager-dispatchInfo.md) + - [elementName](reference/apis/js-apis-bundleManager-elementName.md) + - [extensionAbilityInfo](reference/apis/js-apis-bundleManager-extensionAbilityInfo.md) + - [hapModuleInfo](reference/apis/js-apis-bundleManager-hapModuleInfo.md) + - [launcherAbilityInfo](reference/apis/js-apis-bundleManager-launcherAbilityInfo.md) + - [metadata](reference/apis/js-apis-bundleManager-metadata.md) + - [packInfo](reference/apis/js-apis-bundleManager-packInfo.md) + - [permissionDef](reference/apis/js-apis-bundleManager-permissionDef.md) + - [remoteAbilityInfo](reference/apis/js-apis-bundleManager-remoteAbilityInfo.md) + - [shortcutInfo](reference/apis/js-apis-bundleManager-shortcutInfo.md) - UI界面 - [@ohos.animator (动画)](reference/apis/js-apis-animator.md) - [@ohos.curves (插值计算)](reference/apis/js-apis-curve.md) @@ -894,14 +955,16 @@ - [@ohos.router (页面路由)](reference/apis/js-apis-router.md) - 图形图像 - [@ohos.animation.windowAnimationManager (窗口动画管理)](reference/apis/js-apis-windowAnimationManager.md) + - [@ohos.application.WindowExtensionAbility (窗口扩展能力)](reference/apis/js-apis-application-windowExtensionAbility.md) - [@ohos.display (屏幕属性)](reference/apis/js-apis-display.md) - [@ohos.effectKit (图像效果)](reference/apis/js-apis-effectKit.md) - - [@ohos.graphics.colorSpaceManager(色彩管理)](reference/apis/js-apis-colorSpaceManager.md) + - [@ohos.graphics.colorSpaceManager (色彩管理)](reference/apis/js-apis-colorSpaceManager.md) - [@ohos.screen (屏幕)](reference/apis/js-apis-screen.md) - [@ohos.screenshot (屏幕截图)](reference/apis/js-apis-screenshot.md) - [@ohos.window (窗口)](reference/apis/js-apis-window.md) - - [webgl (WebGL)](reference/apis/js-apis-webgl.md) - - [webgl2 (WebGL2)](reference/apis/js-apis-webgl2.md) + - webgl + - [webgl (WebGL)](reference/apis/js-apis-webgl.md) + - [webgl2 (WebGL2)](reference/apis/js-apis-webgl2.md) - 媒体 - [@ohos.multimedia.audio (音频管理)](reference/apis/js-apis-audio.md) - [@ohos.multimedia.avsession (媒体会话管理)](reference/apis/js-apis-avsession.md) @@ -937,7 +1000,8 @@ - [@ohos.data.preferences (首选项)](reference/apis/js-apis-data-preferences.md) - [@ohos.data.rdb (关系型数据库)](reference/apis/js-apis-data-rdb.md) - [@ohos.data.ValuesBucket (数据集)](reference/apis/js-apis-data-valuesBucket.md) - - [resultSet (结果集)](reference/apis/js-apis-data-resultset.md) + - data/rdb + - [resultSet (结果集)](reference/apis/js-apis-data-resultset.md) - 文件管理 - [@ohos.environment (目录环境能力)](reference/apis/js-apis-environment.md) - [@ohos.data.fileAccess (公共文件访问与管理)](reference/apis/js-apis-fileAccess.md) @@ -972,10 +1036,13 @@ - [@ohos.nfc.controller (标准NFC)](reference/apis/js-apis-nfcController.md) - [@ohos.nfc.tag (标准NFC-Tag)](reference/apis/js-apis-nfcTag.md) - [@ohos.rpc (RPC通信)](reference/apis/js-apis-rpc.md) - - [@ohos.wifi (WLAN)](reference/apis/js-apis-wifi.md) - - [@ohos.wifiext (WLAN扩展接口)](reference/apis/js-apis-wifiext.md) - - [nfctech (标准NFC-Tag Nfc 技术)](reference/apis/js-apis-nfctech.md) - - [tagSession (标准NFC-Tag TagSession)](reference/apis/js-apis-tagSession.md) + - [@ohos.wifiManager (WLAN)(推荐)](reference/apis/js-apis-wifiManager.md) + - [@ohos.wifiManagerExt (WLAN扩展接口)(推荐)](reference/apis/js-apis-wifiManagerExt.md) + - [@ohos.wifi (WLAN)(待停用)](reference/apis/js-apis-wifi.md) + - [@ohos.wifiext (WLAN扩展接口)(待停用)](reference/apis/js-apis-wifiext.md) + - tag + - [nfctech (标准NFC-Tag Nfc 技术)](reference/apis/js-apis-nfctech.md) + - [tagSession (标准NFC-Tag TagSession)](reference/apis/js-apis-tagSession.md) - 系统基础能力 - [@ohos.accessibility (辅助功能)](reference/apis/js-apis-accessibility.md) - [@ohos.accessibility.config (系统辅助功能配置)](reference/apis/js-apis-accessibility-config.md) @@ -994,16 +1061,17 @@ - [@ohos.inputmethodengine (输入法服务)](reference/apis/js-apis-inputmethodengine.md) - [@ohos.inputmethodextensionability (InputMethodExtensionAbility)](reference/apis/js-apis-inputmethod-extension-ability.md) - [@ohos.inputmethodextensioncontext (InputMethodExtensionContext)](reference/apis/js-apis-inputmethod-extension-context.md) - - [@ohos.inputmethodsubtype(输入法子类型)](reference/apis/js-apis-inputmethod-subtype.md) + - [@ohos.inputmethodsubtype (输入法子类型)](reference/apis/js-apis-inputmethod-subtype.md) - [@ohos.pasteboard (剪贴板)](reference/apis/js-apis-pasteboard.md) - [@ohos.screenLock (锁屏管理)](reference/apis/js-apis-screen-lock.md) - [@ohos.systemTime (系统时间、时区)](reference/apis/js-apis-system-time.md) - - [@ohos.systemTimer(系统定时器)](reference/apis/js-apis-system-timer.md) + - [@ohos.systemTimer (系统定时器)](reference/apis/js-apis-system-timer.md) - [@ohos.wallpaper (壁纸)](reference/apis/js-apis-wallpaper.md) - - [@ohos.web.webview(Web)](reference/apis/js-apis-webview.md) + - [@ohos.web.webview (Webview)](reference/apis/js-apis-webview.md) - [console (日志打印)](reference/apis/js-apis-logs.md) - [Timer (定时器)](reference/apis/js-apis-timer.md) - - [AccessibilityExtensionContext (辅助功能扩展上下文)](reference/apis/js-apis-inner-application-accessibilityExtensionContext.md) + - application + - [AccessibilityExtensionContext (辅助功能扩展上下文)](reference/apis/js-apis-inner-application-accessibilityExtensionContext.md) - 设备管理 - [@ohos.batteryInfo (电量信息)](reference/apis/js-apis-battery-info.md) - [@ohos.batteryStatistics (耗电统计)](reference/apis/js-apis-batteryStatistics.md) @@ -1026,6 +1094,7 @@ - [@ohos.runningLock (Runninglock锁)](reference/apis/js-apis-runninglock.md) - [@ohos.sensor (传感器)](reference/apis/js-apis-sensor.md) - [@ohos.settings (设置数据项名称)](reference/apis/js-apis-settings.md) + - [@ohos.stationary (设备状态感知框架)](reference/apis/js-apis-stationary.md) - [@ohos.systemCapability (系统能力)](reference/apis/js-apis-system-capability.md) - [@ohos.systemParameterV9 (系统属性)](reference/apis/js-apis-system-parameterV9.md) - [@ohos.thermal (热管理)](reference/apis/js-apis-thermal.md) @@ -1038,9 +1107,10 @@ - [@ohos.account.osAccount (系统帐号管理)](reference/apis/js-apis-osAccount.md) - 定制管理 - [@ohos.configPolicy (配置策略)](reference/apis/js-apis-configPolicy.md) + - [@ohos.enterprise.deviceInfo (设备信息管理)](reference/apis/js-apis-enterprise-deviceInfo.md) - [@ohos.enterprise.EnterpriseAdminExtensionAbility (EnterpriseAdminExtensionAbility)](reference/apis/js-apis-EnterpriseAdminExtensionAbility.md) - [@ohos.enterprise.adminManager (企业设备管理)](reference/apis/js-apis-enterprise-adminManager.md) - - [@ohos.enterprise.dateTimeManager(系统时间管理)](reference/apis/js-apis-enterprise-dateTimeManager.md) + - [@ohos.enterprise.dateTimeManager (系统时间管理)](reference/apis/js-apis-enterprise-dateTimeManager.md) - 语言基础类库 - [@ohos.buffer (Buffer)](reference/apis/js-apis-buffer.md) - [@ohos.convertxml (xml转换JavaScript)](reference/apis/js-apis-convertxml.md) @@ -1073,7 +1143,6 @@ - [@ohos.bundle.innerBundleManager (innerBundleManager模块)](reference/apis/js-apis-Bundle-InnerBundleManager.md) - [@ohos.bundleState (设备使用信息统计)](reference/apis/js-apis-deviceUsageStatistics.md) - [@ohos.bytrace (性能打点)](reference/apis/js-apis-bytrace.md) - - [@ohos.commonEvent (公共事件模块)](reference/apis/js-apis-commonEvent.md) - [@ohos.data.storage (轻量级存储)](reference/apis/js-apis-data-storage.md) - [@ohos.data.distributedData (分布式数据管理)](reference/apis/js-apis-distributed-data.md) - [@ohos.distributedBundle (分布式包管理)](reference/apis/js-apis-Bundle-distributedBundle.md) @@ -1084,6 +1153,7 @@ - [@ohos.reminderAgent (后台代理提醒)](reference/apis/js-apis-reminderAgent.md) - [@ohos.systemParameter (系统属性)](reference/apis/js-apis-system-parameter.md) - [@ohos.usb (USB管理)](reference/apis/js-apis-usb-deprecated.md) + - [@ohos.workScheduler (延迟任务调度)](reference/apis/js-apis-workScheduler.md) - [@system.app (应用上下文)](reference/apis/js-apis-system-app.md) - [@system.battery (电量信息)](reference/apis/js-apis-system-battery.md) - [@system.bluetooth (蓝牙)](reference/apis/js-apis-system-bluetooth.md) @@ -1103,25 +1173,26 @@ - [@system.sensor (传感器)](reference/apis/js-apis-system-sensor.md) - [@system.storage (数据存储)](reference/apis/js-apis-system-storage.md) - [@system.vibrator (振动)](reference/apis/js-apis-system-vibrate.md) - - [ProcessRunningInfo (ProcessRunningInfo)](reference/apis/js-apis-inner-application-processRunningInfo.md) - - [abilityInfo (AbilityInfo)](reference/apis/js-apis-bundle-AbilityInfo.md) - - [applicationInfo (ApplicationInfo)](reference/apis/js-apis-bundle-ApplicationInfo.md) - - [bundleInfo (BundleInfo)](reference/apis/js-apis-bundle-BundleInfo.md) - - [bundleInstaller (BundleInstaller)](reference/apis/js-apis-bundle-BundleInstaller.md) - - [bundleStatusCallback (BundleStatusCallback)](reference/apis/js-apis-Bundle-BundleStatusCallback.md) - - [customizeData (CustomizeData)](reference/apis/js-apis-bundle-CustomizeData.md) - - [elementName (ElementName)](reference/apis/js-apis-bundle-ElementName.md) - - [hapModuleInfo (HapModuleInfo)](reference/apis/js-apis-bundle-HapModuleInfo.md) - - [launcherAbilityInfo (LauncherAbilityInfo)](reference/apis/js-apis-bundle-LauncherAbilityInfo.md) - - [moduleInfo (ModuleInfo)](reference/apis/js-apis-bundle-ModuleInfo.md) - - [PermissionDef (PermissionDef)](reference/apis/js-apis-bundle-PermissionDef.md) - - [remoteAbilityInfo (RemoteAbilityInfo)](reference/apis/js-apis-bundle-remoteAbilityInfo.md) - - [shortcutInfo (shortcutInfo)](reference/apis/js-apis-bundle-ShortcutInfo.md) + - bundle + - [abilityInfo](reference/apis/js-apis-bundle-AbilityInfo.md) + - [applicationInfo](reference/apis/js-apis-bundle-ApplicationInfo.md) + - [bundleInfo](reference/apis/js-apis-bundle-BundleInfo.md) + - [bundleInstaller](reference/apis/js-apis-bundle-BundleInstaller.md) + - [bundleStatusCallback](reference/apis/js-apis-Bundle-BundleStatusCallback.md) + - [customizeData](reference/apis/js-apis-bundle-CustomizeData.md) + - [elementName](reference/apis/js-apis-bundle-ElementName.md) + - [hapModuleInfo](reference/apis/js-apis-bundle-HapModuleInfo.md) + - [launcherAbilityInfo](reference/apis/js-apis-bundle-LauncherAbilityInfo.md) + - [moduleInfo](reference/apis/js-apis-bundle-ModuleInfo.md) + - [PermissionDef](reference/apis/js-apis-bundle-PermissionDef.md) + - [remoteAbilityInfo](reference/apis/js-apis-bundle-remoteAbilityInfo.md) + - [shortcutInfo](reference/apis/js-apis-bundle-ShortcutInfo.md) - 错误码参考 - [通用错误码](reference/errorcodes/errorcode-universal.md) - Ability框架 - [元能力子系统错误码](reference/errorcodes/errorcode-ability.md) - [DistributedSchedule错误码](reference/errorcodes/errorcode-DistributedSchedule.md) + - [卡片错误码](reference/errorcodes/errorcode-form.md) - 包管理 - [包管理子系统通用错误码](reference/errorcodes/errorcode-bundle.md) - [zlib子系统错误码](reference/errorcodes/errorcode-zlib.md) @@ -1138,6 +1209,7 @@ - [窗口错误码](reference/errorcodes/errorcode-window.md) - 媒体 - [Audio错误码](reference/errorcodes/errorcode-audio.md) + - [Media错误码](reference/errorcodes/errorcode-media.md) - [媒体会话管理错误码](reference/errorcodes/errorcode-avsession.md) - 资源管理 - [I18n错误码](reference/errorcodes/errorcode-i18n.md) @@ -1172,6 +1244,7 @@ - [Hidebug错误码](reference/errorcodes/errorcode-hiviewdfx-hidebug.md) - [输入法框架错误码](reference/errorcodes/errorcode-inputmethod-framework.md) - [剪贴板错误码](reference/errorcodes/errorcode-pasteboard.md) + - [锁屏服务错误码](reference/errorcodes/errorcode-screenlock.md) - [Webview错误码](reference/errorcodes/errorcode-webview.md) - 帐号管理 - [Account错误码](reference/errorcodes/errorcode-account.md) @@ -1210,6 +1283,13 @@ - [Rawfile](reference/native-apis/rawfile.md) - [MindSpore](reference/native-apis/_mind_spore.md) - [NeuralNeworkRuntime](reference/native-apis/_neural_nework_runtime.md) + - [Avsession](reference/native-apis/avsession.md) + - [AudioDecoder](reference/native-apis/_audio_decoder.md) + - [AudioEncoder](reference/native-apis/_audio_encoder.md) + - [CodecBase](reference/native-apis/_codec_base.md) + - [VideoDecoder](reference/native-apis/_video_decoder.md) + - [VideoEncoder](reference/native-apis/_video_encoder.md) + - [Core](reference/native-apis/_core.md) - 头文件 - [drawing_bitmap.h](reference/native-apis/drawing__bitmap_8h.md) - [drawing_brush.h](reference/native-apis/drawing__brush_8h.md) @@ -1240,7 +1320,25 @@ - [types.h](reference/native-apis/types_8h.md) - [neural_network_runtime_type.h](reference/native-apis/neural__network__runtime__type_8h.md) - [neural_network_runtime.h](reference/native-apis/neural__network__runtime_8h.md) - - 结构体 + - [av_session.h](reference/native-apis/av__session_8h.md) + - [avcontrol_command.h](reference/native-apis/avcontrol__command_8h.md) + - [avmeta_data.h](reference/native-apis/avmeta__data_8h.md) + - [avplayback_state.h](reference/native-apis/avplayback__state_8h.md) + - [avsession_controller.h](reference/native-apis/avsession__controller_8h.md) + - [avsession_descriptor.h](reference/native-apis/avsession__descriptor_8h.md) + - [avsession_errors.h](reference/native-apis/avsession__errors_8h.md) + - [avsession_info.h](reference/native-apis/avsession__info_8h.md) + - [avsession_manager.h](reference/native-apis/avsession__manager_8h.md) + - [avsession_pixel_map.h](reference/native-apis/avsession__pixel__map_8h.md) + - [native_avcodec_audiodecoder.h](reference/native-apis/native__avcodec__audiodecoder_8h.md) + - [native_avcodec_audioencoder.h](reference/native-apis/native__avcodec__audioencoder_8h.md) + - [native_avcodec_base.h](reference/native-apis/native__avcodec__base_8h.md) + - [native_avcodec_videodecoder.h](reference/native-apis/native__avcodec__videodecoder_8h.md) + - [native_avcodec_videoencoder.h](reference/native-apis/native__avcodec__videoencoder_8h.md) + - [native_averrors.h](reference/native-apis/native__averrors_8h.md) + - [native_avformat.h](reference/native-apis/native__avformat_8h.md) + - [native_avmemory.h](reference/native-apis/native__avmemory_8h.md) + - 结构体 - [OH_Drawing_BitmapFormat](reference/native-apis/_o_h___drawing___bitmap_format.md) - [OH_NativeBuffer_Config](reference/native-apis/_o_h___native_buffer___config.md) - [OH_NativeXComponent_Callback](reference/native-apis/_o_h___native_x_component___callback.md) @@ -1261,6 +1359,23 @@ - [OH_NN_QuantParam](reference/native-apis/_o_h___n_n___quant_param.md) - [OH_NN_Tensor](reference/native-apis/_o_h___n_n___tensor.md) - [OH_NN_UInt32Array](reference/native-apis/_o_h___n_n___u_int32_array.md) + - [OH_AVCodecAsyncCallback](reference/native-apis/_o_h___a_v_codec_async_callback.md) + - [OH_AVCodecBufferAttr](reference/native-apis/_o_h___a_v_codec_buffer_attr.md) + - [OHOS::AVSession::AVControlCommand](reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md) + - [OHOS::AVSession::AVControllerCallback](reference/native-apis/_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md) + - [OHOS::AVSession::AVMetaData](reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md) + - [OHOS::AVSession::AVPlaybackState](reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md) + - [OHOS::AVSession::AVPlaybackState::Position](reference/native-apis/_1_a_v_session_1_1_a_v_playback_state_1_1_position.md) + - [OHOS::AVSession::AVSession](reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md) + - [OHOS::AVSession::AVSessionBasicInfo](reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md) + - [OHOS::AVSession::AVSessionCallback](reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md) + - [OHOS::AVSession::AVSessionController](reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md) + - [OHOS::AVSession::AVSessionDescriptor](reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) + - [OHOS::AVSession::AVSessionManager](reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md) + - [OHOS::AVSession::AVSessionPixelMap](reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md) + - [OHOS::AVSession::OutputDeviceInfo](reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md) + - [OHOS::AVSession::SessionListener](reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_session_listener.md) + - [OHOS::AVSession::SessionToken](reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_session_token.md) - 标准库 - [Node_API](reference/native-lib/third_party_napi/napi.md) - [libuv](reference/native-lib/third_party_libuv/libuv.md)