음성 입력 기능 호출-CodenameOne 앱 (iOS 포트)

Aug 21 2020

내 Android 앱에는 EditText 오른쪽에 음성 입력 기능을 호출하는 버튼이있는 텍스트 입력 상자가 있습니다.

Codename One으로 앱을 이식하고 있습니다. 현재 iOS 포트가 목표입니다.

버튼에는 적절한 아이콘이 있습니다. 다음은 코드입니다.

voiceInputButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent voiceIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
            voiceIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH);
            try {
                activity.startActivityForResult(voiceIntent, RESULT_SPEECH_REQUEST_CODE);
            } catch (ActivityNotFoundException ex) {

            }
        }
    });

매우 잘 작동하고 음성 입력 화면이 호출 된 다음 결과가 문자열로 앱에 다시 전달됩니다.

문자열은 사용자가 말한 것입니다 (예 : 단일 단어).

iOS 용 CodenameOne 앱에이 기능이 있어야합니다.

동등한 것은 무엇입니까? 네이티브 인터페이스를 통해 네이티브 iOS 함수를 호출해야합니까?

답변

FrancescoGalgani Aug 22 2020 at 20:40

음성 프레임 워크를 통해 음성-텍스트를 구현하여 라이브 또는 사전 녹음 된 오디오에서 음성 인식을 수행 할 수 있습니다. 더 많은 정보:https://developer.apple.com/documentation/speech

Codename One에 대해 Objective-C 코드를 사용하여 네이티브 인터페이스를 만들 수 있습니다.

Objective-C에서 Speech 프레임 워크를 사용하려면 다음 답변을 참조하세요. https://stackoverflow.com/a/43834120

대답은 이렇게 말합니다. «[...]이 작업을 실행하고 테스트하려면 매우 기본적인 UI가 필요합니다. UIButton을 만들고 microPhoneTapped 작업을 할당하면됩니다. 누르면 앱이 모든 것을 듣고 기록하기 시작합니다. 마이크를 통해 콘솔로 듣습니다 (샘플 코드에서 NSLog는 텍스트를 수신하는 유일한 것입니다). 다시 누르면 녹음이 중지됩니다. [...]» . 이것은 당신이 요청한 것과 매우 가까운 것 같습니다.

분명히 네이티브 인터페이스를 만드는 데는 시간이 걸립니다. 추가 도움이 필요하면보다 구체적인 질문을 할 수 있습니다. 유용한 표시를했기를 바랍니다.


마지막으로 Objective-C에는 다음과 같은 대체 솔루션도 있습니다. https://github.com/Azure-Samples/cognitive-services-speech-sdk/tree/master/quickstart/objectivec/ios/from-microphone

웹에서 다음을 검색 할 수 있습니다. objective-c speech-to-text