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

看板MacDev作者 (zonble)時間13年前 (2010/10/19 18:11), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/19 (看更多)
※ 引述《ryanliang (暑假閒閒的大學生~~)》之銘言: : ※ 引述《zonble (zonble)》之銘言: : 比較不同的是,我所開發的是在MAC電腦上的程式,不是在iPhone,所 : 以我在Mac OS上找不到AudioSession及AVFoundation所對應的相關用 : 法。而我用的是之前我有請你看過的QTSaptureSession來傳送audio : 資料,所以我還在找連結轉換的方法。 基本上,Mac 不用去管 iPhone 上面那種 audio session 的東西。 Audio session 在 iPhone 上面,主要負責的工作是,由於 iPhone 本身不僅是一個可以拿來跑電腦程式的環境,最重要的,它仍然還是 一支手機,所以不同的 audio 來源,會有不同的重要性。比方說, 就算手機調到靜音模式,但是有些音效還是要可以發出來,或是,當 你在播音樂的時候,這時候有電話進來,這時候就不應該一邊講電話 一邊放音樂,而是音樂要先停下來,等電話講完,再繼續放歌…諸如 此類。Mac 就不用管這些事情。 現在你的問題應該是,怎樣用 Audio Queue 把 QTKit 收到的 Linear PCM Packet,透過音效裝置放出來。應該是產生一個 AudioQueueBuffer 然後把 QTKit delegate method 傳進來的 binary data 的長度跟指標 丟到 AudioQueueBuffer 的 mAudioData 與 mAudioDataByteSize 之類, 然後把這個 AudioQueueBuffer 丟去 enqueue。但是要注意 audio device 要求的 audio 格式與 QTKit 給的一不一樣,可能要看一下 QTSampleBuffer 的 formatDescription 裡頭,告訴你現在用的是什麼格式。 如果要看 AudioQueue 怎麼錄音,建議看一下蘋果官方範例 SpeakHere 看一下 AQRecorder.mm 這個檔案,像是 AudioFileWritePackets 怎麼用。 -- zonble.net cocoa.zonble.net -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.128.103.143
文章代碼(AID): #1ClMxAHA (MacDev)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 19 篇):
文章代碼(AID): #1ClMxAHA (MacDev)