HarmonyOS 鸿蒙Next文本转语音后的onData回调中的audio: ArrayBuffer如何使用AudioRenderer正常播放
HarmonyOS 鸿蒙Next文本转语音后的onData回调中的audio: ArrayBuffer如何使用AudioRenderer正常播放 使用文本转语音后,再使用AudioRenderer播放(不实用textToSpeech自带的播放),实现过程中遇到的问题,请路过的大神帮忙解惑
-
write(buffer: ArrayBuffer, callback: AsyncCallback<number>): void
从 API version 11 开始废弃,建议使用AudioRenderer中的on(‘writeData’)替代
-
on(‘writeData’)如何直接使用textToSpeech回调onData中的audio: ArraBuffer
-
使用了废弃的
write(buffer: ArrayBuffer, callback: AsyncCallback<number>): void
但是播放的声音是杂音,无法正常听到内容,就像高倍速的声音
更多关于HarmonyOS 鸿蒙Next文本转语音后的onData回调中的audio: ArrayBuffer如何使用AudioRenderer正常播放的实战教程也可以访问 https://www.itying.com/category-93-b0.html
let audioStreamInfo: audio.AudioStreamInfo = {
samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_16000, // 采样率,文本转语音的音频流采样率为16000
channels: audio.AudioChannel.CHANNEL_1, // 通道,文本转语音的音频流通道为单声道
sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE, // 采样格式,文本转语音的音频流采样格式固定
encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW // 编码格式
}
let audioRendererInfo: audio.AudioRendererInfo = {
usage: audio.StreamUsage.STREAM_USAGE_VOICE_ASSISTANT, // 音频流使用类型,语音播放
rendererFlags: 0 // 音频渲染器标志
}
AudioRenderer这样些试试
更多关于HarmonyOS 鸿蒙Next文本转语音后的onData回调中的audio: ArrayBuffer如何使用AudioRenderer正常播放的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
哈喽,请问下有没有完整点的代码,本来场景就稍微复杂,代码不全,很少会有人愿意回答的
HarmonyOS的分布式技术让我实现了跨设备的无缝协作,工作效率翻倍。
感谢提点,已更新完整代码,
在HarmonyOS中,onData
回调返回的audio: ArrayBuffer
可以通过AudioRenderer
进行播放。首先,确保你已经创建并配置了AudioRenderer
实例,设置了正确的音频参数,如采样率、声道数和音频格式。然后,将ArrayBuffer
转换为Uint8Array
,使用AudioRenderer
的write
方法将音频数据写入播放队列。最后,调用start
方法开始播放。AudioRenderer
会处理音频数据的解码和播放。如果音频数据较大,可以分批写入,避免一次性写入过多数据导致内存问题。