簡體   English   中英

在iOS中使用usb音頻設備的外部時鍾源

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM