Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Android上检测支持的音频编码器以防止崩溃“找不到给定的音频编码器2”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Android设备不支持强制性音频编码器时,您会得到:
(X =编码器的数字索引)

E / MediaProfiles(4048):找不到给定的音频编码器X.
 A / Audiosource(4048):frameworks / base / media / libstagefright / Audiosource.cpp:58 checK(chAnnels == 1 || chAnnels == 2)失败.
 A / libc(4048):0xdeadbaad处的致命信号11(SIGSEGV)(代码= 1)
在本代码中.没有例外可以做出反应.应用程序只是强制关闭.

有没有办法查询Android> 3.x设备if
AAC
AMR-NB和
AMR-WB
实际上是支持吗?
文档(http://developer.android.com/guide/appendix/media-formats.html)
说这些是核心媒体格式,因此始终得到支持.
一些实际和普通手机(主要品牌)没有.

MediaCodec.createByCodecName(String name)
Get supported Codec for Android device
仅适用于API16 = Android 4.1,但有问题的设备是4.0.x.
它也没有列出AMR-NB和AAC.

解决方法

在Android设备上,媒体配置文件/功能存储在名为media_profiles.xml的配置文件中(在ICS / 4.0上).

通常,此文件位于设备上的/ etc文件夹中.

所以你能做的就是

>将设备连接到pc并使用adb pull命令拉取/etc/media_profiles.xml文件
>检查AudioEncoderCap属性.广告的每个可用性将有多个条目.
对于前:

AudioEncoderCap name =“aac”enabled =“true”
        minBitRate =“8192”maxBitRate =“96000”
        minSampleRate =“8000”maxSampleRate =“16000”
        minChAnnels =“1”maxChAnnels =“1”
>如果’enabled’标志如上所述设置为“true”,则设备应支持功能.如果不支持,则“enabled”标志将设置为“false”.

AFAIK,jb(4.1)上引入的媒体编解码器框架读取此/类似的配置文件,以向设备层公开设备功能.

希望这可以帮助.

谢谢!

大佬总结

以上是大佬教程为你收集整理的在Android上检测支持的音频编码器以防止崩溃“找不到给定的音频编码器2”全部内容,希望文章能够帮你解决在Android上检测支持的音频编码器以防止崩溃“找不到给定的音频编码器2”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。