【问题标题】:Native video in Air on iOS stopping sound and microphoneiOS 上 Air 中的原生视频停止声音和麦克风
【发布时间】:2013-02-07 13:01:18
【问题描述】:

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

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

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

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;
    }
}

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

【问题讨论】:

    标签: ios actionscript-3 video air stagewebview


    【解决方案1】:

    这个问题可能与iOS系统有关。

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

    参考苹果文档:Audio Session

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-26
      • 1970-01-01
      • 2013-04-13
      • 1970-01-01
      • 2023-03-13
      相关资源
      最近更新 更多