HarmonyOS NEXT(开发进阶)导航定位场景低功耗最佳实践
导航类应用需设置正确的应用类型,使用系统自带的导航类场景的音效算法,避免冗余算法处理。
·
鸿蒙NEXT开发实战往期必看文章:
一分钟了解”纯血版!鸿蒙HarmonyOS Next应用开发!
“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线!(从零基础入门到精通)
HarmonyOS NEXT应用开发案例实践总结合(持续更新......)
HarmonyOS NEXT应用开发性能优化实践总结(持续更新......)
规则
- 导航类应用需设置正确的应用类型,使用系统自带的导航类场景的音效算法,避免冗余算法处理。
- 导航类应用无语音播报等语音输出时,禁止持续向系统写入音频空数据。
开发步骤
避免导航类应用usage设置错误,导致无法走系统低功耗方案。配置音频渲染参数并创建AudioRenderer实例时,设置正确usage类型:audio.StreamUsage.STREAM_USAGE_NAVIGATION。
import { audio } from '@kit.AudioKit';
let audioStreamInfo: audio.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: audio.AudioRendererInfo = {
usage: audio.StreamUsage.STREAM_USAGE_NAVIGATION,
rendererFlags: 0
};
let audioRendererOptions: audio.AudioRendererOptions = {
streamInfo: audioStreamInfo,
rendererInfo: audioRendererInfo
};
audio.createAudioRenderer(audioRendererOptions, (err, data) => {
if (err) {
console.error(`Invoke createAudioRenderer failed, code is ${err.code}, message is ${err.message}`);
return;
} else {
console.info('Invoke createAudioRenderer succeeded.');
let audioRenderer = data;
}
});
调测验证
结果对比
更多推荐




所有评论(0)