2017-11-17 3 views
2

私は何か(マイクやオシレーターなどの入力)を記録する機能を実現しようとしていますが、直後にコールバックを実行するという点で正確である必要があります録音が終わったので、私はClipRecorderがここで私を助けてくれると思った。このコードは単純なビューコントローラーのviewDidLoad関数に入り、コードは実行されて終了しますが、クリップレコーダーのコールバックは決して実行されません。AudioKit - AKClipRecorderが正常に動作しない

私は何を間違えたのでしょうか?私はAudioKitを非常に新しくしているので、私の事を理解していないかもしれません。ここにコードがあります:

AKSettings.bufferLength = .shortest 
AKSettings.defaultToSpeaker = true 
try! AKSettings.setSession(category: .playAndRecord) 

let oscillator = AKOscillator() 
let oscMixer = AKMixer(oscillator) 
AudioKit.output = oscMixer 
AudioKit.start() 

oscillator.start() 

let clipRecorder = AKClipRecorder(node: oscMixer) 

do{ 
    AKLog("1") 
    try clipRecorder.recordClip(time: 0, duration: 2, tap: nil, completion: { url, something, err in 
     AKLog("recorded clip") 
     oscillator.stop() 
    }) 
    AKLog("2") 
} catch let error as ClipRecordingError { 
    print("\(String(describing: error.errorDescription))") 
} catch { 
    print("something general") 
} 

ログ1,2が印刷され、「記録クリップ」は印刷されません。

多くの感謝!

答えて

2

clipRecorder.play()またはclipRecorder.play(at :)を呼び出す必要があります。

+0

こんにちは、私は、AKClipRecorder API、http://audiokit.io/docs/Classes/AKClipRecorder.htmlで任意の開始機能を見ることができません。 *編集:*ああ!今私はそれが本当に混乱しているプレー機能を持って参照してください、私は演奏機能がAKClipRecorderを再生開始する必要があると思った、それは本当にスタートと呼ばれる必要があります。 (私はそれを受け入れるようにあなたの答えを編集してください) –

+0

少し紛らわしい、 "再生"は、レコーダーがオーディオを再生することを意味します。スタートと呼ばれるべきだった。 – dave234

関連する問題