libpd с Android Studio, не удалось получить звук

Я перешел с Eclipse на AndroidStudio; Я могу получить звуки из проекта, который я создал с помощью AndroidStudio/libpd, но не могу использовать микрофон для ввода звука в Pd.

вот как я устанавливаю параметры звука:

private void initPd() throws IOException {
AudioParameters.init(this);
        int srate = Math.max(44100, AudioParameters.suggestSampleRate());
        PdAudio.initAudio(srate, 1, 2, 8, true);

вот как я устанавливаю разрешение в AndroidManifest.xml

<uses-permission android:name="android.permission.RECORD_AUDIO" />

это ошибка у меня

AudioFlinger could not create record track, status: -1
E/libOpenSLES﹕ android_audioRecorder_realize(0x62839188) error creating AudioRecord object

person Ike    schedule 29.09.2015    source источник


Ответы (1)


У меня была аналогичная проблема, и хотя я знаю, что этот вопрос старый, он может помочь другим найти решение. С помощью участников на странице libpd github я нашел причину (причины) отсутствия ввода в моем проекте...

Во-первых, моя targetdkversion была API 23. Как было указано: «Запрос разрешений в API 23+ — это то, что нужно делать в самом приложении, а не в библиотеке pd-for-android». Поэтому я изменил целевую версию SDK на 22.

Кроме того, я не добавил в свой манифест разрешение на использование микрофона. Поэтому добавьте эту строку в Androidmanifest:

<uses-permission android:name="android.permission.RECORD_AUDIO" />

Наконец, я забыл изменить количество входных каналов с 0 при смене источника с osc~ на adc~. Итак, мой метод initPD теперь выглядит так:

int sampleRate = AudioParameters.suggestSampleRate();
int inpch = AudioParameters.suggestInputChannels();
PdAudio.initAudio(sampleRate, inpch, 2, 8, true);

Это помогло мне. Надеюсь, это поможет вам или кому-то еще.

person markos14    schedule 17.07.2016