咨询一个HarmonyOS音频相关问题?

播放的位数如下,各位大佬支持的全都int型的吗?没有float型?
OH_AudioStream_SampleFormat {
AUDIOSTREAM_SAMPLE_U8 = 0,
AUDIOSTREAM_SAMPLE_S16LE = 1,
AUDIOSTREAM_SAMPLE_S24LE = 2,
AUDIOSTREAM_SAMPLE_S32LE = 3
}

OH_AudioDeviceDescriptor_GetDeviceSampleRates 通过这个查询采样率吗?没有的表示不支持? 假如高采样 192000,如果不支持,是不是需要重采样后再设置到render?

设置采样率是否有关,任何位数都支持上面的设备采样率?多声道支持的怎么样?是不是enum里头的channelayout都支持? 多声道的音频有没有采样率和位深的限制?

还有就是蓝牙耳机和有线耳机的插拔后这些都是系统route的吗?插拔后自动route到其他设备?还是需要手动指定播放设备?

阅读 623
1 个回答

根据你的问题,解决方案如下:
1、现在支持的格式确实没有float,后续应该会添加的,但是目前还没有明确时间计划。
2、不用,框架里自己会重采样,这个只是查询下设备底层支持的所有采样率,其实对应用来说用处不大。
3、这个看hal支持情况了,按采样率+声道+位宽组合确定是否支持,不过本来框架也会有重采样、下混和format转换,应用能用的相比hal支持的其实更多。
4、都支持,采样率和位深没限制。
5、蓝牙耳机和有线耳机上下线的时候,系统会自动更新当前设备,如果需要手动指定播放设备,用户可以在播控中心进行操作。应用可以通过集成设备选择picker的方式,间接提供切换设备的功能。native接口:https://gitee.com/openharmony/docs/blob/master/zh-cn/applicat...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题