首页 > 解决方案 > 关于使用android相机开发

问题描述

我正在尝试开发使用在 HMT-1 上运行的 MediaRecorder API 的应用程序。Android Studio用于开发,运行环境为Android 10或更高版本。

在使用 MediaRecoder API 拍摄视频时,我们正在验证是否可以在其他进程中使用相同的麦克风,例如 SpeechRecognizer API。

单独使用 MediaRecoder API 进行录制处理和单独使用 SpeechRecognizer API 进行语音输入可以毫无问题地执行。但是,如果您尝试同时录制和输入语音,则会出现错误。

如果您想将输入语音用于多个流程,如果您有任何参考文件或样本,请告诉我。

媒体记录器设置。

    path = getExternalFilesDir(null)!!.path

    mMediaRecorder = MediaRecorder()

    mMediaRecorder!!.setAudioSource(MediaRecorder.AudioSource.MIC)
    mMediaRecorder!!.setVideoSource(MediaRecorder.VideoSource.SURFACE)
    mMediaRecorder!!.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4)
    mMediaRecorder!!.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB)
    mMediaRecorder!!.setAudioEncodingBitRate(16)
    mMediaRecorder!!.setAudioSamplingRate(44100)
    mMediaRecorder!!.setVideoSize(1024, 768)
    mMediaRecorder!!.setVideoEncoder(MediaRecorder.VideoEncoder.H264)
    mMediaRecorder!!.setVideoEncodingBitRate(10000000)
    mMediaRecorder!!.setOutputFile(path + "/" + DateFormat.format("yyyyMMdd'-'kkmmss", Calendar.getInstance()) + ".mp4")
    mMediaRecorder!!.setOnInfoListener(this)
    mMediaRecorder!!.setMaxDuration(VIDEO_DURATION)
    mMediaRecorder!!.setMaxFileSize(VIDEO_FILESIZE)
    mMediaRecorder!!.setPreviewDisplay(mSurfaceHolder!!.surface)
    val rotation = (getSystemService(WINDOW_SERVICE) as WindowManager)
    if(rotation.defaultDisplay.rotation == 2){
        mMediaRecorder!!.setOrientationHint(180)
    }

    mMediaRecorder!!.prepare()

    try {
        mMediaRecorder!!.start()
    } catch (ex: IOException) {
        ex.printStackTrace()
        mMediaRecorder!!.release()
    }

语音识别器设置。

    mSpeechRecognizer = SpeechRecognizer.createSpeechRecognizer(applicationContext)
    mSpeechRecognizer?.setRecognitionListener(createRecognitionListenerStringStream { recognize_text_view.text = it })

    public fun onStart(View: View){
        mSpeechRecognizer?.startListening(Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH))
    }

    public fun onStop(View: View){
        mSpeechRecognizer?.stopListening()
    }

标签: androidkotlincamera

解决方案


推荐阅读