HarmonyOS 的 @ohos.multimedia.audio 模块提供了 audio.createAudioRenderer 方法,允许开发者获取音频渲染器,用于播放音频数据。使用callback方式异步返回结果。
方法详解
createAudioRenderer(options: AudioRendererOptions,
callback: AsyncCallback<AudioRenderer>): void
- 功能:异步获取音频渲染器对象。
- 参数:
- options: (AudioRendererOptions, 必填) 配置音频渲染器的选项,包含以下字段:
- streamInfo: (AudioStreamInfo) 音频流信息,包含采样率、声道数、采样格式和编码类型等。
- rendererInfo: (AudioRendererInfo) 音频渲染器信息,包含内容类型、用途和渲染器标志等。
- callback: (AsyncCallback, 必填) 回调函数,用于接收创建的音频渲染器对象或错误信息。
- options: (AudioRendererOptions, 必填) 配置音频渲染器的选项,包含以下字段:
- 系统能力:SystemCapability.Multimedia.Audio.Renderer
- 支持版本:API version 8 及以上
示例代码
import featureAbility from '@ohos.ability.featureAbility';
import fs from '@ohos.file.fs';
import audio from '@ohos.multimedia.audio';
// 定义音频流信息
let audioStreamInfo = {
samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100,
channels: audio.AudioChannel.CHANNEL_1,
sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE,
encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW
};
// 定义音频渲染器信息
let audioRendererInfo = {
content: audio.ContentType.CONTENT_TYPE_SPEECH,
usage: audio.StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION,
rendererFlags: 0
};
// 创建音频渲染器选项
let audioRendererOptions = {
streamInfo: audioStreamInfo,
rendererInfo: audioRendererInfo
};
// 异步创建音频渲染器
audio.createAudioRenderer(audioRendererOptions, (err, data) => {
if (err) {
console.error(`AudioRenderer Created: Error: ${err}`);
} else {
console.info('AudioRenderer Created: Success: SUCCESS');
let audioRenderer = data;
// 在这里可以使用创建的音频渲染器对象播放音频
}
});
总结
audio.createAudioRenderer 方法为开发者提供了创建音频渲染器的异步接口,可以根据需求配置音频流信息和渲染器信息,方便地进行音频播放操作。