-1

我想制作一个将呼叫者的声音存储在数据库中的android应用程序有人可以告诉我如何进行吗?

4

1 回答 1

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 文件。

于 2013-07-07T22:18:44.793 回答