簡體   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