記一次幫別人處理iOS錄音問題引發的慘案

為什么總是返回-160或者-120

第一步。百度。谷歌,,這個我試了,看過所有的結果后我真想罵娘,只有一個答案就是將audioSession設置AVAudioSessionCategoryPlayAndRecord或者其他Record類的,可我就是這樣設置的,尼瑪真夠了。放棄。
第二步。請教同事,同事做過類似微信發語音的,找了他的代碼,看了一下,一行一行對比,結果沒有發現什么問題,可是人家的就能運行。放棄。
第三步。自己作最后的掙扎,一步一步調試,尼瑪什么,[_audioRecorder prepareToRecord]這個玩意返回NO,看到了勝利的曙光,_audioRecorder都沒有準備好,還怎么錄音,怎么不返回-160之類的呢,于是繼續往上找,沒有準備好,就說明_audioRecorder配置有問題,于是我查了錄音設置字典沒有問題,查了錄音保存路徑,什么,等等,NSDocumentationDirectory這是什么玩意,不仔細看,真讓他給我騙了,記得目錄結構里面沒有這個東西啊,于是我換成了NSDocumentDirectory。大功告成。自己試著錄了一段,播放一了,都正常。

我想說的是,雖然百度、谷歌很強大,也很方便,但是如果你遇到一個問題,最好是在搜索引擎上不要花過多的時間,能找到就看,不能找到就立馬放棄,回到代碼上自己單步調試跟蹤,這未嘗不是一個自我學習升華的過程。

提示:[_audioRecorder recordForDuration:60]設置完后,[self.audioRecorder isRecording]的狀態會立馬返回YES
剛才說的目錄問題,也在這里給大家普及一下,我們iOS開發是在沙盒中開發,我們只能在Documents、tmp、Library/Caches這三個文件夾讀寫,NSDocumentationDirectory這個對應的是Library/Documentation,這個路徑我們是沒有讀寫權限的。

忘了說自己的初衷了,本來是想幫朋友一個忙的,朋友有這樣一個需求,,他們做一個教育類軟件,需要上課,老師和同學可以語音聊天,如果正在上課的時候,我返回到home,屏幕最上方應該會有一個紅色的提示條,類似于系統的打電話軟件一樣,點擊紅色的提示條,會返回到通話里面,不知道我描述的清不清楚,QQ語音也有這個功能,其實可以搜索VoIP相關就可以。我也幫他整了一下,其實就是在info.plist里面加一條設置就可以了,好像這個不加,錄音都不行,畢竟錄音是要請求權限的,如果是這樣的話,那就直接可以實現直接從home輕觸返回到你的APP上了。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,292評論 25 708
  • (一) 故事的開始總是找不到原因,就像我從不曾想過會遇見你。 那一年,一七五左右的你在一群基本都不到一米七的人群里...
    七月二十五閱讀 325評論 0 0
  • 今天才得見自己有多白,社會經驗少得可怕,真的是面對自己隊員的時候,很容易不知道如何去聊。 因為工作經驗少,社會經驗...
    夢游世界閱讀 174評論 1 3
  • 七個好朋友圍著一張桌子開啟了他們美好的聚會之夜,招待大家的女主人Eva突然提出要玩一個刺激的游戲,每個人都將手機拿...
    沐_心閱讀 391評論 0 1
  • 使用流程 創建一個logger 創建一個handler,用于寫入日志文件 定義handler的輸出格式 將hand...
    cws閱讀 242評論 0 1