当我尝试播放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" />但仍然抛出相同的错误。
我设置的权限是否正确?有人能帮我吗,我错过了什么。
发布于 2012-08-20 15:25:46
在许多设备上,NDK不支持AMR。您可以使用外部AMR库。使用PCM录音机/播放器,并使用opencore-amr手动编码和解码。
这对我来说很好。
关于你的权限问题:
android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK没有官方许可,那你为什么要在这里使用呢?据我所知,Android上没有与编解码器相关的权限。
重要的是只有用于麦克风访问的Record_Audio。
https://stackoverflow.com/questions/12001982
复制相似问题