0

我在使用 AIR 3.4 和新的 Kindle Fire(第 2 代,非高清)时遇到问题。没有麦克风,正如亚马逊的比较图表所示:https ://developer.amazon.com/sdk/fire/specifications.html ,但 AIR 告诉我有麦克风。它还报告 Camera.isSupported 和 CameraUI.isSupported 的值为 TRUE。

所以这里是关于 Kindle Fire 的独家新闻:

  • 第一代 Kindle Fire 不能正确支持从 AIR 中捕获音频(即使连接了外部麦克风)。有关详细信息,请参阅:https ://bugbase.adobe.com/index.cfm?event=bug&id=3197063
  • 除非连接了外部麦克风,否则第二代 Kindle Fire 不支持音频捕获。但是,我不知道在 AIR 中区分耳机与否的方法,因为 Microphone.isSupported 始终返回 TRUE。
  • Kindle Fire HD 支持带或不带外部麦克风的音频捕捉。

到目前为止,我所知道的处理此问题的最佳指标是使用“android.os.Build.MODEL”来禁用第一代 Kindle 的麦克风使用。不过,这有点笨拙。它也不允许我正确处理第二代 Fire,因为(据我所知)无法确定用户是否插入了麦克风。

你们有谁知道更可靠的方法来检查这个吗?

编辑:这是我创建的一个测试项目,它说明了这个问题:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" applicationComplete="init()"
               xmlns:s="library://ns.adobe.com/flex/spark" applicationDPI="160">
    
    <fx:Script>
        <![CDATA[
            private function init():void {
                cameraLabel.text = "Camera: " + Camera.isSupported.toString();
                cameraUILabel.text = "CameraUI: " + CameraUI.isSupported.toString();
                microphoneLabel.text = "Microphone: " + Microphone.isSupported.toString() + " => " + Microphone.getMicrophone();
            }
        ]]>
    </fx:Script>
    
    <s:VGroup horizontalCenter="0" verticalCenter="0">
        <s:Label id="cameraLabel" />
        <s:Label id="cameraUILabel" />
        <s:Label id="microphoneLabel" />
    </s:VGroup>
    
</s:Application>

在第二代 Kindle Fire 上运行此程序会导致屏幕上显示以下值:

相机:真实

相机UI:真

麦克风:true => [对象麦克风]

4

0 回答 0