我的mediacord应用程序已损坏

时间:2020-07-26 21:51:39

标签: java android android-studio kotlin

我正在尝试创建一个允许我录制音频,保存音频并播放录制的音频的应用程序。

问题:

当我按下按钮进行录制或播放时,我的应用程序被破坏了。

我看过那个视频,但我不明白发生了什么

<!--https://www.youtube.com/watch?v=_Z0AZoTxWYQ-->

我已在清单中添加了它

   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
       <uses-permission android:name="android.permission.RECORD_AUDIO"/>
  class MainActivity : AppCompatActivity() {
        lateinit var recorder: MediaRecorder
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val path: String = Environment.getExternalStorageDirectory().toString() + "/grabacion.mp3"
        recorder = MediaRecorder()

        button.isEnabled = false
        button2.isEnabled = false

        if (ActivityCompat.checkSelfPermission(
                this,
                Manifest.permission.RECORD_AUDIO
            ) != PackageManager.PERMISSION_GRANTED
        )
            ActivityCompat.requestPermissions(
                this, arrayOf(
                    Manifest.permission.RECORD_AUDIO,
                    Manifest.permission.WRITE_EXTERNAL_STORAGE
                ), 111
            )


        button.isEnabled = true
 <!--BUTTON TO RECORD-->
        button.setOnClickListener {
            recorder.setAudioSource(MediaRecorder.AudioSource.MIC)
            recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP)
            recorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB)
            recorder.setOutputFile(path)
            recorder.prepare()
            recorder.start()

            button2.isEnabled = true
            button.isEnabled = false
        }

        <!--BUTTON STOP-->

        button2.setOnClickListener {
            recorder.stop()
            button.isEnabled = true
            button2.isEnabled = false
        }

        <!--BUTTON PLAY-->

        button3.setOnClickListener {
            val mediaPlayer = MediaPlayer()
            mediaPlayer.setDataSource(path)
            mediaPlayer.prepare()
            mediaPlayer.start()
    
            }
    }
}

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,是什么原因导致了问题

Column

我们需要将其更改为

new
相关问题