我想创建一个android应用程序,将调用者的声音存储在数据库中,任何人都可以告诉我如何继续吗?
答案 0 :(得分:1)
您需要使用MediaRecorder
类,如下所示,
recorder = new MediaRecorder();
int audioSource = MediaRecorder.AudioSource.VOICE_CALL;
recorder.setAudioSource(audioSource);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
final String filePath = Environment.getExternalStorageDirectory() + "/record.3gpp";
final File file = new File(filePath);
file.getParentFile().mkdirs();
recorder.setOutputFile(filePath);
recorder.prepare();
recorder.start(); // Recording is now started
在上面的代码中,我将录制的文件保存在本地存储中,因为我们无法将mp3文件存储到sqlite数据库中。我们可以在数据库中存储mp3的链接。
这就是为什么我们应该将mp3文件存储在本地路径(即sdcard或手机内存中)并将该本地路径存储在数据库中。当我们想播放那个mp3文件时,从数据库中获取本地URI并转到本地URI路径并播放mp3文件。