首页 > 解决方案 > 在 Android 中构建和使用 Oboe Resampler

问题描述

我正在尝试将 Oboe Resampler 集成到我的 android 应用程序中。

https://github.com/google/oboe/tree/master/src/flowgraph/resampler

这个想法是将带有 32000 采样率的音频的 ByteBuffer 转换为具有 44100 采样率的音频。

我应该如何构建 C++ 库以及如何在我的 android 应用程序中集成和重新采样?有人可以分享一些片段或链接到这个 c++ 库的已构建版本吗?

标签: androidaudiooboe

解决方案


您不需要构建重采样器来执行此操作,因为它已经在双簧管中。您可以打开采样率为 32000 帧/秒的双簧管音频流并打开重采样。

就是这样:

// Create a stream builder
oboe::AudioStreamBuilder builder;

// Specify the rate at which you'll be supplying audio frames
builder.setSampleRate(32000);

// Switch on the resampler by specifying the resampling quality - this is a tradeoff between CPU and quality. 
builder.setSampleRateConversionQuality(SampleRateConversionQuality::Medium);

请参阅文档以设置数据回调,您可以在其中将您的数据写入ByteBuffer音频流缓冲区。


推荐阅读