Adobe Air+iphone麦克风问题:SampleDataEvent后音量低.SAMPLE_DATA事件



我正在使用Flash CS 5.5使用Adobe Air 2.6开发iPhone应用程序。我正在尝试捕获麦克风输入,然后播放mp3文件。现在的问题是,一旦我用SampleDataEvent捕获了麦克风数据。SAMPLE_DATA事件时,播放机制的音量似乎显著降低。

复制:

  1. 播放(远程)mp3文件,音量正常
  2. 获取麦克风并添加事件侦听器(请参阅下面的代码),侦听器函数甚至不需要任何代码就可以发生此问题
  3. 与步骤1(播放远程mp3)相同,音量非常低。

    // add the event listener
    _microphone.addEventListener(SampleDataEvent.SAMPLE_DATA, onSampleData);
    private function onSampleData(event:SampleDataEvent):void
    {
        //while(event.data.bytesAvailable > 0) {
        //    _buffer.writeFloat(event.data.readFloat());
        //}
    }
    // call this before playing back the mp3
    _microphone.removeEventListener(SampleDataEvent.SAMPLE_DATA, onSampleData);
    

当使用Flash IDE进行测试时,问题不会出现,并且一切正常。在iPhone 3GS和iOS 4.3.3上测试。

如果有人经历过这个问题,我将非常感谢你的见解。

更新:

我认为这本身不是AIR的问题。在使用iOS麦克风后,整个应用程序几乎会静音,在虚拟键盘上打字也是如此(这不是来自AIR)。这对我没有帮助,但也许有人知道如何关闭应用程序中的麦克风,让扬声器音量恢复正常?

更新2:

在这里,您可以看到Adobe的运行示例http://tv.adobe.com/watch/adc-presents/developing-for-ios-with-air-for-mobile-26/请注意,iphone在现场演示中的扬声器音量也很低。因此,这一定是一个相当大的错误,使iPhone上的麦克风无法使用。

下载并使用AIR 3 sdk

然后设置

SoundMixer.useSpeakerphoneForVoice = true;
SoundMixer.audioPlaybackMode = AudioPlaybackMode.MEDIA;

并且您的问题应该得到解决

最新更新