Android OpenAL 录音参数不正确

发布于 2022-09-01 05:21:44 字数 996 浏览 13 评论 0

编译了 OpenAL 源码,ALSOFT_VERSION 是 "1.12.854"

播放声音一系列功能都正常,但是录音设备一直打不开,错误描述是无效的参数
俺的代码如下:

ALCdevice* s_device_cap_ = NULL;
ALCcontext* s_context_cap_ = NULL;

s_device_cap_ = alcCaptureOpenDevice(NULL, rate, format, buffer_size);
if (NULL != s_device_cap_) {
    s_context_cap_ = alcCreateContext(s_device_cap_, NULL);
    alcMakeContextCurrent(s_context_cap_);
    ...
} else {
    LOGE("audio capture init failed: %x", alcGetError(NULL));
}

打开的参数尝试过:

8000, AL_FORMAT_MONO16, 640
8000, AL_FORMAT_MONO16, 8000
44100, AL_FORMAT_MONO16, 640
44100, AL_FORMAT_MONO16, 44100

第一个参数 NULL 也替换过

alcGetString(NULL, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER)
alcGetString(NULL, ALC_CAPTURE_DEVICE_SPECIFIER)

都只能打印初始化失败的信息,错误码对应的枚举是 ALC_INVALID_VALUE

肿么办呀,亲们

update: 已确保 alcIsExtensionPresent(NULL, "ALC_EXT_CAPTURE") 返回 AL_TRUE

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

归途 2022-09-08 05:21:44

你好,我想请问一下,您这个问题最后怎么解决的?我目前也是遇到这样子的问题,OpenAL打开其他设备没有问题,但是无法打开录音设备,传入NULL deviceName也是失败,如果看到的话,请及时回复。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文