Воспроизведение для формата файла AMR

Когда я пытаюсь воспроизвести трек с форматом файла AMR. Выдает предупреждение

Ошибка разрешения: android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK

и ошибка от libOpenSLES

AudioSfDecoder :: onPrepare: не удалось найти поддерживаемую звуковую дорожку.

Я попытался установить разрешение в файле манифеста.

    <!-- Allows an application to use any media decoder when decoding for playback
         @hide -->
    <permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"
         android:protectionLevel="signatureOrSystem"
         android:label="@string/permlab_anyCodecForPlayback"
         android:description="@string/permdesc_anyCodecForPlayback" />

Но все равно выдает ту же ошибку.

Правильно ли я устанавливаю разрешение? Может ли кто-нибудь помочь мне, что мне не хватает.


person Swetha Setty    schedule 17.08.2012    source источник
comment
покажи мне свой код, тогда я смогу тебе помочь   -  person januprasad    schedule 17.08.2012
comment
Вы тестируете приложение на устройстве или в эмуляторе? а что с версией?   -  person Randroid    schedule 17.08.2012
comment
проверьте эту ссылку developer.android.com/guide/appendix/media-formats.html   -  person Randroid    schedule 17.08.2012


Ответы (1)


AMR не поддерживается NDK на многих устройствах. Вы можете использовать внешнюю библиотеку AMR. Используйте диктофон / проигрыватель PCM и кодируйте и декодируйте вручную с помощью opencore-amr.

У меня это отлично работает.

К вопросу о вашем разрешении:

android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK

нет официального разрешения, так почему вы используете это здесь? Мне известно, что на Android нет разрешений, связанных с кодеками.

Важным является только Record_Audio для доступа к микрофону.

person sweisgerber.dev    schedule 20.08.2012