2016-07-13 7 views
2

나는 내 사과 시계에서 받아쓰기를 사용하는 코드를 썼다. 받아쓰기없이 직접 받아쓰기를 시작하려면 presentTextInputControllerWithSuggestions를 사용했습니다.Apple에서 받아쓰기를 시작하고 멈추는 방법 witout button을 누르는 것

  • 내가 내 응용 프로그램이 시작될 때 받아쓰기를 시작하려면 :

    는하지만, 나는이 문제가 있습니다. 이를 위해 willActivate 메서드에서 함수를 호출하지만이 기능을 사용하면 받아쓰기가있는 첫 번째 페이지가 아닌 대기 화면이 내 화면에 표시됩니다.

  • "완료"버튼을 누르지 않고 받아쓰기를 멈추고 싶습니다. 나는 그것이 가능하고 어떻게 만들 수 있는지 나는 모른다.

    func dictation(){ 
         self.presentTextInputControllerWithSuggestions([], allowedInputMode: WKTextInputMode.Plain, completion:{ 
          (results) -> Void in 
           //myCode 
          }) 
        } 
    override func willActivate(){ 
        super.willActivate() 
        dictation() 
    } 
    

    당신이 솔루션이 있습니까 : 내 코드는

있다?

@Feldur 도와

+0

관련 항목 : http://stackoverflow.com/questions/35268552/how-to-stop-speech-recognition-dictation-in-apple-watch-when-the-user-stops-sp –

+0

게시하면 어떻게됩니까? 짧은 지체 후에 딕테이션을 요구하거나 didAppear? – Feldur

+0

@ Feldur 기능을 시작하고 끝낼 때 로그를 인쇄합니다. " 끝 awakeWithContext이 didAppear에게 시작 받아쓰기 끝 didAppear을 시작 willactivate 최종 willactivate을 시작 awakeWithContext을 시작 초기화를 최종 초기화를 시작합니다"하고 당신은 오디오 스트림을 처리해야합니다 나는 항상 내 대기 화면 –

답변

0

덕분에 나는 지연 시도하고

을 내 코드가 작동하는 것 같다 :

내 로그가 있습니다
override init(){ 
    super.init() 
    print("start init") 
    let seconds = 1.0 
    let delay = seconds * Double(NSEC_PER_SEC) // nanoseconds per seconds 
    let dispatchTime = dispatch_time(DISPATCH_TIME_NOW, Int64(delay)) 
    dispatch_after(dispatchTime, dispatch_get_main_queue(), { 
     self.dictation() 
    }) 
    print("end init") 
} 

:

start init 
end init 
start awakeWithContext 
end awakeWithContext 
start willactivate 
end willactivate 
start didAppear 
end didAppear 
start dictation 

내 화면이 나타나고 그 후에 내 구술이 시작됩니다.

사용자가 말하기를 멈 추면 받아쓰기에 대한 아이디어가 있습니까?

+0

이 :이 내 로그는 침묵 (에너지의 부재)을 찾고 – Feldur

+0

고마워. API 또는 네이티브 구성 요소가 있는지 알고 계십니까? –

+0

나는 그렇지 않다. 어쩌면 AV일까요? 파워 스펙트럼에서 Google을 사용하면 수학을 찾을 수 있습니다. – Feldur