oboe - 除了设置 setSampleRateConversionQuality 之外还有什么会导致 Oboe 修改采样率。
问题描述
功能说明setSampleRateConversionQuality
/**
* Specify the quality of the sample rate converter in Oboe.
*
* If set to None then Oboe will not do sample rate conversion. But the underlying APIs might
* still do sample rate conversion if you specify a sample rate.
* That can prevent you from getting a low latency stream.
*
* If you do the conversion in Oboe then you might still get a low latency stream.
*
* Default is SampleRateConversionQuality::None
*/
这句话是什么意思?
“如果设置为无,则双簧管将不会进行采样率转换。但如果您指定采样率,底层 API 可能仍会进行采样率转换”
如果我设置SampleRateConversionQuality = None
了,采样率仍然可以被双簧管修改吗?
如果是,是什么条件导致这种情况发生?</p>
解决方案
如果我设置
SampleRateConversionQuality = None
了,采样率仍然可以被双簧管修改吗?
不,在这种情况下,双簧管不会进行采样率转换。
“底层 API”指的是 Android 音频框架,如果您指定的采样率与底层音频硬件的本机采样率不匹配,它可能会执行重采样。如果 Android 音频框架进行重采样,您将不会获得低延迟流。
这就是为什么在双簧管中引入了重采样。这意味着双簧管可以重新采样您的音频数据,这样音频框架就不必这样做,并且意味着您可以获得具有特定采样率的低延迟流。
推荐阅读
- javascript - 我想使用 JavaScript 制作一个 Discord meme 机器人
- python - 在 python 和类型提示中更改字典值类型
- java - 您可以从 websocket 读取整个帧还是应该逐字节读取
- python - 扩展矩阵的通用算法
- proxy - 如何在已部署的智能合约上升级或添加新逻辑
- css - 自定义 webkit 滚动条的问题
- javascript - 如何有条件地激活提交按钮?
- c# - Xamarin 表单 ListView SelectedItem MVVM 绑定错误 XFC0009
- d3.js - 我们如何使用 d3.js 为 GeoPackage 文件绘制地图?
- amazon-ec2 - 如何在创建有权通过它承担角色的 EKS 集群中启用 kubectl?