2016-10-12 1 views
1

내가마이크의 원시 데이터 (플로트 데이터) (오디오 입력) 아이폰 OS 응용 프로그램에서

inputNode = audioEngine.inputNode 

     let bus = 0 

    inputNode!.installTap(onBus: bus, bufferSize: 2048, format: inputNode!.inputFormat(forBus: bus)) { 

      (buffer: AVAudioPCMBuffer!, time: AVAudioTime!) -> Void in 

      let firstChannel = buffer.floatChannelData?[0] 
      let arr = Array(UnsafeBufferPointer(start: firstChannel, count:Int(buffer.frameLength))) 
    self.array.append(contentsOf: arr) 
    audioEngine.prepare() 

     do{ 
      try audioEngine.start() 
     }catch { 
      print("audioEngine start failed") 
     } 

그리고 지금 난 내 Watchos3에서이 작업을 수행하려면 다음 코드를 사용하여이 작업을 수행 응용 프로그램이지만 inputnode는 watchos3에서 사용할 수 없습니다 ..... 실제 마이크 데이터 (Float)를 얻으려면 어떻게해야합니까?

답변

0

AVAudioSession 카테고리를 AVAudioSessionCategoryRecord 또는 AVAudioSessionCategoryPlayAndRecord으로 설정하고 세션을 활성화 했습니까?

+0

watchOS에서는 AVAudioSession을 사용할 수 없습니다. –

+0

괜찮아요 내 잘못은 watchos2에서 사용할 수 있습니다 .... 하지만 난 inputnode와 오디오 세션을 결합 할 수 없습니다 –

관련 문제