android 调用系统录音机并能返回含所录音频的

发布于 2022-09-01 16:18:43 字数 203 浏览 12 评论 0

在MediaStore中有ACTION_IMAGE_CAPTURE,也有ACTION_VIDEO_CAPTURE,
都能够调用系统照相机或摄像机并且返回包含数据的intent,那录音机该如何调用?
MediaStore.Audio.Media.RECORD_SOUND_ACTION并不能返回数据啊,它直接就把音频存储了。
为什么相机和视频都有了,没有录音机的呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧瑾黎汐 2022-09-08 16:18:43

音频也是在onActivityResult中获取
调用系统音频:

        Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
        startActivityForResult(intent, RECORD_AUDIO);

获取Uri:

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (requestCode) {
            case RECORD_AUDIO:
                try {
                    Uri uri = data.getData();
                    String filePath = getAudioFilePathFromUri(uri);
                    Log.d(TAG, filePath);
                } catch (Exception e) {
                    throw new RuntimeException(e);
                }
                break;
        }
    }

    private String getAudioFilePathFromUri(Uri uri) {
        Cursor cursor = getContentResolver()
                .query(uri, null, null, null, null);
        cursor.moveToFirst();
        int index = cursor.getColumnIndex(MediaStore.Audio.AudioColumns.DATA);
        return cursor.getString(index);
    }

filePath就是你录的音频文件,你可以copy到任何位置。
不用忘记添加uses-permission相关权限

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文