[英]iOS How to set specifics channels of USB device to a audio player? AVFoundation
[英]External clock source with usb audio device in iOS
我的應用程序使用外部USB麥克風和非常精確的熱補償石英振盪器(TCXO)。 采樣率為48KHz。 我通過相機套件連接器將其插入iOS。 我正在使用EZAudio庫並且一切正常,除了iOS似乎保留了自己的內部時鍾源用於音頻采樣而不是我精確的48KHz。
我閱讀了有關CoreAudio的所有文檔,但在使用閃電音頻時,我沒有找到與時鍾源相關的任何內容。
有沒有辦法在內部或外部時鍾源之間進行選擇?
謝謝 !
var audioFormatIn = AudioStreamBasicDescription(mSampleRate: Float64(48000),
mFormatID: AudioFormatID(kAudioFormatLinearPCM),
mFormatFlags: AudioFormatFlags(kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked),
mBytesPerPacket: 2,
mFramesPerPacket: 1,
mBytesPerFrame: 2,
mChannelsPerFrame: 1,
mBitsPerChannel: 16,
mReserved: 0)
func initAudio()
{
let session : AVAudioSession = AVAudioSession.sharedInstance()
do {
try session.setCategory(AVAudioSessionCategoryPlayAndRecord)
try session.setMode(AVAudioSessionModeMeasurement)
try session.setActive(true)
}
catch {
print("Error Audio")
}
self.microphone = EZMicrophone(microphoneDelegate: self, withAudioStreamBasicDescription: audioFormatIn)
}
更新:感謝@Rhythmic Fistman,設置首選采樣率部分解決了問題。 不再從iOS重新采樣,TCXO仍然是時鍾主源。 但是信號現在很快就被破壞了,似乎是緩沖區中的空樣本。 記錄長度越來越嚴重,這個問題越來越嚴重。 當然,因為我需要閃電端口來插拔硬件,所以我很難輕松調試!
7分鍾后波形的屏幕截圖:
15分鍾后波形的屏幕截圖:
在激活它之前將音頻會話的首選采樣率設置為48kHz有幫助嗎?
session.setPreferredSampleRate(48000)
我不知道它是否會對時鍾源做任何事情,或者它是否會影響輸入(或輸出)采樣率,但它值得一試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.