1

我正在尝试StageWebView在 Air for iPad 应用程序中播放本机视频,该应用程序播放声音并需要通过麦克风进行用户交互。
一切似乎都正常,但是当我开始播放视频时,声音和麦克风停止了。如果我处理了StageWebView,声音和麦克风会在 15 秒后恢复(并且我需要声音和麦克风至少在StageWebView释放后立即工作)。

我尝试在 iOS5 iPad1 和 iOS6 iPad2 上使用 Air 3.4、3.5 和 3.6 beta 完成这项工作。我尝试切换 iPad 的静音按钮,也尝试将其更改SoundMixer.audioPlaybackModeMediaAmbient。但它没有用,我被困住了。

这是我处理麦克风的代码:

var microphone:Microphone = Microphone.getMicrophone();
microphone.addEventListener(SampleDataEvent.SAMPLE_DATA, __micHandler);

private function micHandler(event : SampleDataEvent) : void {
    trace("mic is working !");
}

对于音频:

_snd = new Sound();
_snd.load(new URLRequest(path));
_sndChannel = _snd.play();

private function soundStopHandler(event : MouseEvent) : void {
    if(_sndChannel) _sndChannel.stop();
}

对于视频播放器:

_webview = new StageWebView();
_webview.stage = stage;
_webview.viewPort = new Rectangle(10, 120, 480, 300);
_webview.loadURL(path);

private function videoStopHandler(event : MouseEvent) : void {
    if(_webview) {
        _webview.dispose();
        _webview = null;
    }
}

有人在我之前遇到过这个问题吗?有什么我忘记或做错了什么吗?

4

1 回答 1

0

也许这个问题与iOS系统有关。

从 iOS 的角度来看,据我所知,官方是不可能的。当您开始录制会话时,除了录制不占用它。一旦你在会话中播放和录制会话必须解决。录制和回放会话,会话不能同时被占用。

参考苹果文档:Audio Session

AVAudioSessionCategoryPlayAndRecord 或等效的 kAudioSessionCategory_PlayAndRecord - 将此类别用于输入和输出音频的应用程序。输入和输出不必同时发生,但如果需要可以。这是用于音频聊天应用程序的类别。

在 AIR 中,如果您编码没有问题。很可能是这个原因。

于 2013-02-07T15:28:52.783 回答