我正在尝试创建一个允许我录制音频,保存音频并播放录制的音频的应用程序。
问题:
当我按下按钮进行录制或播放时,我的应用程序被破坏了。
我看过那个视频,但我不明白发生了什么
<!--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()
}
}
}
答案 0 :(得分:0)
我找到了解决方案,是什么原因导致了问题
Column
我们需要将其更改为
new