Re: [問題] 請問iPhone有辦法將接收道的聲音直接放 …
※ 引述《zonble (zonble)》之銘言:
: ※ 引述《ryanliang (暑假閒閒的大學生~~)》之銘言:
: : 只是我想請問,在您的範例中,該要怎麼確定audio streaming有成功
: : 換句話說,如何去檢查inputBuffers裡是有資料的?
: 我說一下我所理解的 Audio Queue 好了。
: Audio Queue 就很像是幾個水桶(buffer)在那邊排隊。如果在處理
: 輸入的時候,首先就會準備幾個空的水桶,用來裝 streaming 進來的
: 資料,如果一個水桶裝完了,就先把這桶水拿到一個地方處理,同時
: 有另外一個水桶接上去繼續裝水。這個把裝好的水桶拿出來,處理裝
: 進來的水的工作,就是在我們所指定的 callback function 中。
: 在 callback function 中,我們可以把收到的 binary data 儲存起
: 來,或是要看看做些什麼其他的事情,像是送到某個 view 中,顯示
: 目前收到的音量、畫個條狀圖有多大之類的。做完這些事情之後,我
: 們就要把這個空水桶拿回去繼續排隊裝水,這就是 enqueue。
: 在處理輸出的時候,我們就不能夠拿空水桶,而是要準備一些裝滿水
: 的水桶,拿去輸出裝置,把水倒出來。而觸發 callback 的時機就剛
: 好與輸入相反,是一桶水被倒光了之後,會把這個空水桶拿回來,要
: 你把水裝進這個空水桶裡。
我了解zonble大的意思了,這樣解釋的真是清楚,一看就明瞭!
: 我的寫法比較隨便,在裝滿水的 callback function 裡頭,直接產
: 生一個新的 buffer,然後就拿去倒水了。因為是裝滿水的 callback
^^^^^^^^^^^^^^^^^
這邊我就有點模糊。zonble大的意思是直接產生一個"裝滿水"的
buffer?所以實際上audio data並沒有裝進水桶裡?
我想應該不是我說的意思,但是我看不大懂zonble大的意思,
可以說明一下嗎?
謝謝zonble大!!
: function,如果沒有裝滿水,那應該要去回報 apple bug了吧。:p
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.45.208.119
討論串 (同標題文章)