harmony 鸿蒙Interfaces (其他)

  • 2025-06-12
  • 浏览 (5)

Interfaces (其他)

说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

AudioStreamInfo8+

音频流信息。

系统能力: SystemCapability.Multimedia.Audio.Core

名称 类型 必填 说明
samplingRate AudioSamplingRate 音频文件的采样率。
channels AudioChannel 音频文件的通道数。
sampleFormat AudioSampleFormat 音频采样格式。
encodingType AudioEncodingType 音频编码格式。
channelLayout11+ AudioChannelLayout 音频声道布局,默认值为0x0。

AudioRendererInfo8+

音频渲染器信息。

名称 类型 必填 说明
content ContentType 音频内容类型。
系统能力: SystemCapability.Multimedia.Audio.Core
API version 8、9为必填参数,从API version 10开始为可选参数,默认值为CONTENT_TYPE_UNKNOWN。
从API version 7开始支持,从API version 10开始废弃,建议使用StreamUsage替代。
usage StreamUsage 音频流使用类型。
系统能力: SystemCapability.Multimedia.Audio.Core
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
rendererFlags number 音频渲染器标志。
0代表音频渲染器。
系统能力: SystemCapability.Multimedia.Audio.Core
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
volumeMode19+ AudioVolumeMode 音频的音量模式。默认值为SYSTEM_GLOBAL。
系统能力: SystemCapability.Multimedia.Audio.Volume

AudioRendererOptions8+

音频渲染器选项信息。

名称 类型 必填 说明
streamInfo AudioStreamInfo 音频流信息。
系统能力: SystemCapability.Multimedia.Audio.Renderer
rendererInfo AudioRendererInfo 音频渲染器信息。
系统能力: SystemCapability.Multimedia.Audio.Renderer
privacyType10+ AudioPrivacyType 表示音频流是否可以被其他应用录制,默认值为0。
系统能力: SystemCapability.Multimedia.Audio.PlaybackCapture

InterruptEvent9+

音频中断时,应用接收的中断事件。

原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.Multimedia.Audio.Renderer

名称 类型 必填 说明
eventType InterruptType 音频中断事件类型,开始或是结束。
forceType InterruptForceType 操作是由系统强制执行或是由应用程序执行。
hintType InterruptHint 中断提示,用于提供中断事件的相关信息。

DeviceBlockStatusInfo13+

描述音频设备被堵塞状态和设备信息。

系统能力: SystemCapability.Multimedia.Audio.Device

名称 类型 必填 说明
blockStatus DeviceBlockStatus 音频设备堵塞状态。
devices AudioDeviceDescriptors 设备信息。

AudioSessionStrategy12+

音频会话策略。

系统能力: SystemCapability.Multimedia.Audio.Core

名称 类型 必填 说明
concurrencyMode AudioConcurrencyMode 音频并发模式。

AudioSessionDeactivatedEvent12+

音频会话停用事件。

系统能力: SystemCapability.Multimedia.Audio.Core

名称 类型 必填 说明
reason AudioSessionDeactivatedReason 音频会话停用原因。

AudioRendererChangeInfo9+

描述音频渲染器更改信息。

系统能力: SystemCapability.Multimedia.Audio.Renderer

名称 类型 只读 可选 说明
streamId number 音频流唯一id。
rendererInfo AudioRendererInfo 音频渲染器信息。
deviceDescriptors AudioDeviceDescriptors 音频设备描述。

示例:

import { audio } from '@kit.AudioKit';

const audioManager = audio.getAudioManager();
let audioStreamManager = audioManager.getStreamManager();

audioStreamManager.on('audioRendererChange',  (AudioRendererChangeInfoArray) => {
  for (let i = 0; i < AudioRendererChangeInfoArray.length; i++) {
    console.info(`## RendererChange on is called for ${i} ##`);
    console.info(`StreamId for ${i} is: ${AudioRendererChangeInfoArray[i].streamId}`);
    console.info(`Content for ${i} is: ${AudioRendererChangeInfoArray[i].rendererInfo.content}`);
    console.info(`Stream for ${i} is: ${AudioRendererChangeInfoArray[i].rendererInfo.usage}`);
    console.info(`Flag ${i} is: ${AudioRendererChangeInfoArray[i].rendererInfo.rendererFlags}`);
    let devDescriptor = AudioRendererChangeInfoArray[i].deviceDescriptors;
    for (let j = 0; j < AudioRendererChangeInfoArray[i].deviceDescriptors.length; j++) {
      console.info(`Id: ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].id}`);
      console.info(`Type: ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].deviceType}`);
      console.info(`Role: ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].deviceRole}`);
      console.info(`Name: ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].name}`);
      console.info(`Addr: ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].address}`);
      console.info(`SR: ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].sampleRates[0]}`);
      console.info(`C ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].channelCounts[0]}`);
      console.info(`CM: ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].channelMasks[0]}`);
    }
  }
});

AudioCapturerChangeInfo9+

描述音频采集器更改信息。

系统能力: SystemCapability.Multimedia.Audio.Capturer

名称 类型 只读 可选 说明
streamId number 音频流唯一id。
capturerInfo AudioCapturerInfo 音频采集器信息。
deviceDescriptors AudioDeviceDescriptors 音频设备信息。
muted11+ boolean 音频采集器是否处于静音状态。true表示静音,false表示非静音。

示例:

import { audio } from '@kit.AudioKit';

const audioManager = audio.getAudioManager();
let audioStreamManager = audioManager.getStreamManager();

audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray) =>  {
  for (let i = 0; i < AudioCapturerChangeInfoArray.length; i++) {
    console.info(`## CapChange on is called for element ${i} ##`);
    console.info(`StrId for  ${i} is: ${AudioCapturerChangeInfoArray[i].streamId}`);
    console.info(`Src for ${i} is: ${AudioCapturerChangeInfoArray[i].capturerInfo.source}`);
    console.info(`Flag ${i} is: ${AudioCapturerChangeInfoArray[i].capturerInfo.capturerFlags}`);
    let devDescriptor = AudioCapturerChangeInfoArray[i].deviceDescriptors;
    for (let j = 0; j < AudioCapturerChangeInfoArray[i].deviceDescriptors.length; j++) {
      console.info(`Id: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].id}`);
      console.info(`Type: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].deviceType}`);
      console.info(`Role: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].deviceRole}`);
      console.info(`Name: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].name}`);
      console.info(`Addr: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].address}`);
      console.info(`SR: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].sampleRates[0]}`);
      console.info(`C ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].channelCounts[0]}`);
      console.info(`CM ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].channelMasks[0]}`);
    }
  }
});

AudioDeviceDescriptor

描述音频设备。

名称 类型 只读 可选 说明
deviceRole DeviceRole 设备角色。
系统能力: SystemCapability.Multimedia.Audio.Device
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
deviceType DeviceType 设备类型。
系统能力: SystemCapability.Multimedia.Audio.Device
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
id9+ number 唯一的设备id。
系统能力: SystemCapability.Multimedia.Audio.Device
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
name9+ string 设备名称。
如果是蓝牙设备,需要申请权限ohos.permission.USE_BLUETOOTH。
系统能力: SystemCapability.Multimedia.Audio.Device
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
address9+ string 设备地址。
如果是蓝牙设备,需要申请权限ohos.permission.USE_BLUETOOTH。
系统能力: SystemCapability.Multimedia.Audio.Device
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
sampleRates9+ Array&lt;number&gt; 支持的采样率。
系统能力: SystemCapability.Multimedia.Audio.Device
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
channelCounts9+ Array&lt;number&gt; 支持的通道数。
系统能力: SystemCapability.Multimedia.Audio.Device
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
channelMasks9+ Array&lt;number&gt; 支持的通道掩码。
系统能力: SystemCapability.Multimedia.Audio.Device
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
displayName10+ string 设备显示名。
系统能力: SystemCapability.Multimedia.Audio.Device
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
encodingTypes11+ Array&lt;AudioEncodingType&gt; 支持的编码类型。
系统能力: SystemCapability.Multimedia.Audio.Core
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
spatializationSupported18+ boolean 设备是否支持空间音频。true表示支持空间音频,false表示不支持空间音频。
系统能力: SystemCapability.Multimedia.Audio.Spatialization

示例:

import { audio } from '@kit.AudioKit';

function displayDeviceProp(value: audio.AudioDeviceDescriptor) {
  deviceRoleValue = value.deviceRole;
  deviceTypeValue = value.deviceType;
}

let deviceRoleValue: audio.DeviceRole|undefined = undefined;
let deviceTypeValue: audio.DeviceType|undefined = undefined;
audio.getAudioManager().getRoutingManager().getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG).then((value: audio.AudioDeviceDescriptors) => {
  console.info('AudioFrameworkTest: Promise: getDevices OUTPUT_DEVICES_FLAG');
  value.forEach(displayDeviceProp);
  if (deviceTypeValue != undefined && deviceRoleValue != undefined){
    console.info('AudioFrameworkTest: Promise: getDevices : OUTPUT_DEVICES_FLAG :  PASS');
  } else {
    console.error('AudioFrameworkTest: Promise: getDevices : OUTPUT_DEVICES_FLAG :  FAIL');
  }
});

VolumeEvent9+

音量改变时,应用接收到的事件。

系统能力: SystemCapability.Multimedia.Audio.Volume

名称 类型 必填 说明
volumeType AudioVolumeType 音量流类型。
volume number 音量等级,可设置范围通过调用getMinVolume和getMaxVolume方法获取。
updateUi boolean 是否在UI中显示音量变化。true表示显示,false表示不显示。
volumeMode19+ AudioVolumeMode 音频的音量模式。默认值为SYSTEM_GLOBAL。

MicStateChangeEvent9+

麦克风状态变化时,应用接收到的事件。

系统能力: SystemCapability.Multimedia.Audio.Device

名称 类型 必填 说明
mute boolean 系统麦克风是否为静音状态。true表示静音,false表示非静音。

DeviceChangeAction

描述设备连接状态变化和设备信息。

系统能力: SystemCapability.Multimedia.Audio.Device

名称 类型 必填 说明
type DeviceChangeType 设备连接状态变化。
deviceDescriptors AudioDeviceDescriptors 设备信息。

AudioStreamDeviceChangeInfo11+

流设备变更时,应用接收到的事件。

原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.Multimedia.Audio.Device

名称 类型 必填 说明
devices AudioDeviceDescriptors 设备信息。
changeReason AudioStreamDeviceChangeReason 流设备变更原因。

AudioTimestampInfo19+

音频流时间戳和当前数据帧位置信息。

系统能力: SystemCapability.Multimedia.Audio.Core

名称 类型 只读 可选 说明
framePos number 当前播放或者录制的数据帧位置。
timestamp number 播放或者录制到当前数据帧位置时对应的时间戳。

AudioCapturerInfo8+

描述音频采集器信息。

系统能力: SystemCapability.Multimedia.Audio.Core

名称 类型 必填 说明
source SourceType 音源类型。
capturerFlags number 音频采集器标志。
0代表音频采集器。

AudioCapturerOptions8+

音频采集器选项信息。

名称 类型 必填 说明
streamInfo AudioStreamInfo 音频流信息。
系统能力: SystemCapability.Multimedia.Audio.Capturer
capturerInfo AudioCapturerInfo 音频采集器信息。
系统能力: SystemCapability.Multimedia.Audio.Capturer
playbackCaptureConfig(deprecated) AudioPlaybackCaptureConfig 音频内录的配置信息。
系统能力: SystemCapability.Multimedia.Audio.PlaybackCapture。
从API version 10开始支持,从API version 12开始废弃,建议使用录屏接口AVScreenCapture替代。

AudioInterrupt(deprecated)

音频监听事件传入的参数。

说明:

从API version 7开始支持,从API version 9开始废弃,无替代接口。

系统能力: SystemCapability.Multimedia.Audio.Renderer

名称 类型 必填 说明
streamUsage StreamUsage 音频流使用类型。
contentType ContentType 音频打断媒体类型。
pauseWhenDucked boolean 音频打断时是否可以暂停音频播放。true表示音频播放可以在音频打断期间暂停,false表示音频播放不可以在音频打断期间暂停。

CaptureFilterOptions(deprecated)

待录制的播放音频流的筛选信息。

说明: 从API version 10开始支持,从API version 12开始废弃,建议使用录屏接口AVScreenCapture替代。

系统能力: SystemCapability.Multimedia.Audio.PlaybackCapture

名称 类型 必填 说明
usages Array<StreamUsage> 指定需要录制的音频播放流的StreamUsage类型。可同时指定0个或多个StreamUsage。Array为空时,默认录制StreamUsage为STREAM_USAGE_MUSIC、STREAM_USAGE_MOVIE、STREAM_USAGE_GAME和STREAM_USAGE_AUDIOBOOK的音频播放流。
在API version 10时,CaptureFilterOptions支持使用StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION,使用时需要申请权限ohos.permission.CAPTURE_VOICE_DOWNLINK_AUDIO,该权限仅系统应用可申请。
从API version 11开始,CaptureFilterOptions不再支持使用StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION,所以当前接口不再涉及此权限。

AudioPlaybackCaptureConfig(deprecated)

音频内录的配置信息。

说明: 从API version 10开始支持,从API version 12开始废弃,建议使用录屏接口AVScreenCapture替代。

系统能力: SystemCapability.Multimedia.Audio.PlaybackCapture

名称 类型 必填 说明
filterOptions CaptureFilterOptions 需要录制的播放音频流的筛选信息。

InterruptAction(deprecated)

音频打断/获取焦点事件的回调方法。

说明:

从API version 7开始支持,从API version 9开始废弃,建议使用InterruptEvent替代。

系统能力: SystemCapability.Multimedia.Audio.Renderer

名称 类型 必填 说明
actionType InterruptActionType 事件返回类型。TYPE_ACTIVATED为焦点触发事件,TYPE_INTERRUPT为音频打断事件。
type InterruptType 打断事件类型。
hint InterruptHint 打断事件提示。
activated boolean 焦点获取/释放是否成功。true表示焦点获取/释放成功,false表示焦点获得/释放失败。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Audio Kit(音频服务)

harmony 鸿蒙Interface (AudioCapturer)

harmony 鸿蒙Interface (AudioManager)

harmony 鸿蒙Interface (AudioRenderer)

harmony 鸿蒙Interface (AudioRoutingManager)

harmony 鸿蒙Interface (AudioSessionManager)

harmony 鸿蒙Interface (AudioSpatializationManager)

harmony 鸿蒙Interface (AudioStreamManager)

harmony 鸿蒙Interface (AudioVolumeGroupManager)

harmony 鸿蒙Interface (AudioVolumeManager)

0  赞