问题描述
在Android设备不支持强制性的音频连接codeR,您可以:
(带连接$ C $铬X =数字索引)
When an Android device does not support a mandatory audio-encoder, you get:(X=numeric index of the encoder)
E / MediaProfiles(4048):给定的音频连接codeR X没有找到
A / AudioSource(4048):框架/基/媒体/ libstagefright / AudioSource.cpp:58 CHECK(通道== 1 ||渠道== 2)失败。
A / libc的(4048):在0xdeadbaad致命信号11(SIGSEGV)(code = 1)
在本地code。也不例外反应。应用程序是正义的力量关闭。
E/MediaProfiles(4048): The given audio encoder X is not found A/AudioSource(4048): frameworks/base/media/libstagefright/AudioSource.cpp:58 CHECK(channels == 1 || channels == 2) failed. A/libc(4048): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)In native code. No Exception to react to. App is just force closed.
有没有什么办法,如果查询一个Android> 3.x的设备
AAC
AMR-NB和
AMR-WB
实际上支持?
文档()
说这些是核心媒体格式,因此总是支持。
一些实际的和共同的手机在那里(各大品牌)没有。
Is there any way to query an Android >3.x device ifAACAMR-NB andAMR-WBare actually supported?Documentation ( http://developer.android.com/guide/appendix/media-formats.html )says that these are core media formats and thus always supported.Some actual and common phones out there (of major brands) don't.
<一个href=\"http://developer.android.com/reference/android/media/Media$c$cc.html#createBy$c$ccName%28java.lang.String%29\"相对=nofollow> 媒体codec.createBy codecName(字符串名称)
并
仅适用于API16 =搭载Android 4.1,但有问题的设备是4.0.x的。
它也没有列出AMR-NB和AAC。
MediaCodec.createByCodecName(String name)
andGet supported Codec for Android deviceonly works with API16=Android 4.1 but the devices in question are 4.0.x .It also does not list AMR-NB and AAC.
推荐答案
在你的Android设备,媒体型材/功能都存储在一个名为media_profiles.xml一个配置文件(在ICS / 4.0)。
On your Android device, the media profiles/capabilities are stored in a config file called media_profiles.xml(on ICS/4.0).
通常情况下,该文件位于设备上的/ etc文件夹。
Normally, this file is located in /etc folder on the device.
所以,你可以做的是
- 您的设备连接到PC,并使用ADB pull命令拉/etc/media_profiles.xml文件
-
检查AudioEn coderCap属性。将有被公布每个capbility多个条目。
为前:
- Connect your device to pc and pull /etc/media_profiles.xml file using adb pull command
Examine the AudioEncoderCap properties. There will be multiple entries for each capbility that is advertised.for ex:
AudioEn coderCap NAME =AAC启用=真
minBitRate =8192maxBitRate =96000
minSampleRate =8000maxSampleRate =16000
minChannels =1maxChannels =1
如果在已启用标志被设置为真如上,那么这种能力应该由设备支持。如果不支持,则启用标志将被设置为假。
If the 'enabled' flag is set to "true" as above, then that capability should be supported by the device. If it is not supported, the 'enabled' flag will be set to "false".
据我所知,在JB介绍媒体codeCS框架(4.1)阅读/类似配置文件揭露设备功能到应用层。
AFAIK, the media codecs framework introduced on jb (4.1) read this/similar config file to expose the device capabilities to the application layer.
希望这有助于。
谢谢!
这篇关于检测支持的音频连接codeRS在Android上,以prevent崩溃&QUOT;给定的音频连接$ C $ 2 CR找不到&QUOT;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!