繁体   English   中英

iPhone音频流

[英]iphone audio streaming

我正在开发一个使用音频流的应用程序。 为了从互联网流式传输音频,我使用了AudioStreamer类。 音频流媒体具有四个状态isPlaying,isPaused,isWaiting和isIdle。 我的问题是,当音频流媒体处于“正在等待”状态时,并且如果我接到电话,音频队列将失败,并显示错误“音频队列启动失败”。 有解决办法吗? 救命....

中断(例如接听电话)将停用音频会话。 在中断处理程序中,您可以通过调用AudioSessionSetActive(true)重新激活音频会话。

在此处查看有关中断处理程序的详细信息。

话虽如此,我假设您正在使用mattgallagher的库 要做的事情是在949行(在-[AudioStreamer暂停]中的“ err = AudioQueueStart(audioQueue,NULL);”之后的行)上的AudioStreamer.m中放置一个断点。

如果err == kAudioSessionNotActiveError,那么我的理论是对的,您需要调用重新启动音频会话。 也许是这样的(但是我只看过这段代码,所以也许有解决问题的更好方法):

else if (state == AS_PAUSED)
{
  err = AudioQueueStart(audioQueue, NULL);
  if (err) {
    err = AudioSessionSetActive(true);
    if (err) {
      [self failWithErrorCode:AS_AUDIO_QUEUE_START_FAILED];
      return;
    } else {
      err = AudioQueueStart(audioQueue, NULL);
      if (err) {
        [self failWithErrorCode:AS_AUDIO_QUEUE_START_FAILED];
        return;
      }
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM