Re: [問題] 請問iPhone有辦法將接收道的聲音直接放 …

看板MacDev作者 (暑假閒閒的大學生~~)時間13年前 (2011/01/06 15:35), 編輯推噓0(006)
留言6則, 1人參與, 最新討論串9/19 (看更多)
※ 引述《ryanliang (暑假閒閒的大學生~~)》之銘言: : ※ 引述《zonble (zonble)》之銘言: : : 我那段程式的寫法是,直接把裝滿的 input buffer,copy 到 : : 一個 output buffer 裡頭。就是 memcpy 那一行在做的事情。 : 那我懂了,memcpy把inBuffer裡的資料丟到output buffer裡去,這樣 : 一來,inBuffer裡就沒有data了,所以要讓它回到inAQ去排隊等,然 : 後下一個滿的inBuffer再進來,一直循環。 : 原來是這麼回事,感謝zonble大!!!! 事隔已久,借個標題再問一下。 前情題要一下,之前設定的Audio格式是Linear PCM,將未壓縮的資料丟進 三個Buffer中,之後再透過OutputBufferHandler把裝滿的Buffer拿去倒, 大致上是這樣。 現在遇到了一個問題。我將Audio的格式及參數改成AAC的格式及參數後, OutputBufferHandler就不會work了。 我先寫了一個小的測試程式用同樣的方法,去做錄音的動作。 但我把OutputBufferHandler給拿掉,直接在InputBufferHandler裡面把資料 用AudioFileWritePackets寫到檔案裡去也是可以work,而我寫入檔案的格式 是用AAC編碼,也是可以順利存成AAC的檔案。 這證明了Audio Queue Services是可以做Audio Encode的,我納悶的是為什 麼換了格式,OutputBufferHandler就不會動作了? 希望板上先進給我一點意見 謝謝~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.219.177.46

01/06 18:03, , 1F
如果你是要讀取檔案的話,要先把檔案從其他格式轉成
01/06 18:03, 1F

01/06 18:04, , 2F
Linear PCM,然後再丟到 output queue 去
01/06 18:04, 2F

01/06 18:05, , 3F
查一下 AudioFile 開頭的 API,裡頭有幫你轉換 audio file
01/06 18:05, 3F

01/06 18:05, , 4F
的相關 API
01/06 18:05, 4F

01/06 18:06, , 5F
說錯,轉換格式的是 AudioConverter
01/06 18:06, 5F

01/06 18:06, , 6F
看一下 AudioConverterConvertBuffer
01/06 18:06, 6F
文章代碼(AID): #1D9N361l (MacDev)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 9 之 19 篇):
文章代碼(AID): #1D9N361l (MacDev)