首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libpd w/ Android Studio,无法获取声音

libpd w/ Android Studio,无法获取声音
EN

Stack Overflow用户
提问于 2015-09-29 21:57:53
回答 1查看 446关注 0票数 0

我从Eclipse迁移到了AndroidStudio;我可以从我用AndroidStudio/libpd构建的项目中获得声音,但不能使用麦克风将声音输入到Pd中。

下面是我设置音频参数的方法:

代码语言:javascript
复制
private void initPd() throws IOException {
AudioParameters.init(this);
        int srate = Math.max(44100, AudioParameters.suggestSampleRate());
        PdAudio.initAudio(srate, 1, 2, 8, true);

这就是我在AndroidManifest.xml中设置权限的方式

代码语言:javascript
复制
<uses-permission android:name="android.permission.RECORD_AUDIO" />

这是我得到的错误

代码语言:javascript
复制
AudioFlinger could not create record track, status: -1
E/libOpenSLES﹕ android_audioRecorder_realize(0x62839188) error creating AudioRecord object
EN

回答 1

Stack Overflow用户

发布于 2016-07-18 00:58:13

我也遇到过类似的问题,虽然我知道这个问题很古老,但它可能会帮助其他人寻找解决方案。在libpd github页面上贡献者的帮助下,我找到了在我的项目中没有收到输入的原因……

首先,我的目标版本是API 23。正如所指出的:“在23+接口中请求权限需要在应用程序本身中完成,而不是在pd-for-android库中完成。”因此,我将目标sdk版本更改为22。

此外,我没有在清单中添加使用麦克风的权限。因此,将这一行添加到Androidmanifest中:

代码语言:javascript
复制
<uses-permission android:name="android.permission.RECORD_AUDIO" />

最后,在将信号源从osc~更改为adc~时,我忘记了将输入通道数从0更改为adc~。所以我的initPD方法现在看起来像这样:

代码语言:javascript
复制
int sampleRate = AudioParameters.suggestSampleRate();
int inpch = AudioParameters.suggestInputChannels();
PdAudio.initAudio(sampleRate, inpch, 2, 8, true);

这对我来说很有效..希望它能对你或其他人有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32845922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档