@@ -43,8 +43,8 @@ import com.ichi2.anki.multimedia.AudioVideoFragment
4343import com.ichi2.anki.multimedia.MultimediaViewModel
4444import com.ichi2.anki.multimedia.audio.AudioRecordingController.RecordingState.AppendToRecording
4545import com.ichi2.anki.multimedia.audio.AudioRecordingController.RecordingState.ImmediatePlayback
46- import com.ichi2.anki.multimediacard.AudioRecorder
4746import com.ichi2.anki.multimediacard.IMultimediaEditableNote
47+ import com.ichi2.anki.recorder.AudioRecorder
4848import com.ichi2.anki.showThemedToast
4949import com.ichi2.anki.snackbar.showSnackbar
5050import com.ichi2.anki.ui.OnHoldListener
@@ -124,7 +124,7 @@ class AudioRecordingController(
124124 @LayoutRes controllerLayout : Int ,
125125 ) {
126126 this .state = initialState
127- audioRecorder = AudioRecorder ()
127+ audioRecorder = AudioRecorder (context )
128128 if (inEditField) {
129129 val origAudioPath = viewModel?.currentMultimediaPath?.value
130130 var bExist = false
@@ -526,13 +526,13 @@ class AudioRecordingController(
526526 when {
527527 isRecordingPaused -> resumeRecording()
528528 isRecording -> pauseRecorder()
529- isCleared -> startRecording(context, tempAudioPath!! )
530- else -> startRecording(context, tempAudioPath!! )
529+ isCleared -> startRecording(tempAudioPath!! )
530+ else -> startRecording(tempAudioPath!! )
531531 }
532532 }
533533 is ImmediatePlayback -> {
534534 when (state as ImmediatePlayback ) {
535- ImmediatePlayback .CLEARED -> startRecording(context, tempAudioPath!! )
535+ ImmediatePlayback .CLEARED -> startRecording(tempAudioPath!! )
536536 // end recording, allow a user to play or clear
537537 ImmediatePlayback .RECORDING_IN_PROGRESS -> toggleSave(vibrate = false )
538538 // stop -> playing
@@ -605,13 +605,10 @@ class AudioRecordingController(
605605 }
606606 }
607607
608- private fun startRecording (
609- context : Context ,
610- audioPath : File ,
611- ) {
608+ private fun startRecording (audioPath : File ) {
612609 Timber .i(" starting recording" )
613610 try {
614- audioRecorder.startRecording(context, audioPath)
611+ audioRecorder.start( audioPath)
615612 isRecording = true
616613 audioTimer.start()
617614 setUiState(state.recording())
@@ -630,7 +627,7 @@ class AudioRecordingController(
630627 fun stopAndSaveRecording () {
631628 audioTimer.stop()
632629 try {
633- audioRecorder.stopRecording ()
630+ audioRecorder.stop ()
634631 } catch (e: RuntimeException ) {
635632 Timber .i(e, " Recording stop failed, this happens if stop was hit immediately after start" )
636633 showThemedToast(context, context.resources.getString(R .string.multimedia_editor_audio_view_recording_failed), true )
@@ -662,19 +659,19 @@ class AudioRecordingController(
662659 vibrate(20 .milliseconds)
663660 audioTimer.stop()
664661 setUiState(state.clear())
665- audioRecorder.stopRecording ()
662+ audioRecorder.stop ()
666663 viewModel?.updateCurrentMultimediaPath(null )
667664 tempAudioPath = generateTempAudioFile(context).also { tempAudioPath = it }
668665 isRecording = false
669666 }
670667
671668 fun onFocusLost () {
672- audioRecorder.release ()
669+ audioRecorder.stop ()
673670 audioPlayer!! .release()
674671 }
675672
676673 fun onDestroy () {
677- audioRecorder.release ()
674+ audioRecorder.close ()
678675 }
679676
680677 // when answer button is clicked in reviewer
@@ -716,7 +713,7 @@ class AudioRecordingController(
716713 override fun onAudioTick () {
717714 try {
718715 if (isRecording) {
719- val maxAmplitude = audioRecorder.maxAmplitude () / 10
716+ val maxAmplitude = audioRecorder.getMaxAmplitude () / 10
720717 audioWaveform.addAmplitude(maxAmplitude.toFloat())
721718 }
722719 } catch (e: IllegalStateException ) {
0 commit comments