如何使用 Intent 限制录音时间?

Posted

技术标签:

【中文标题】如何使用 Intent 限制录音时间?【英文标题】:How to limit audio recording time using Intent? 【发布时间】:2013-03-12 03:17:45 【问题描述】:

使用 Intent 时如何限制录制?

我试过这段代码:

 Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
 intent.putExtra("android.intent.extra.durationLimit",5);    
 startActivityForResult(intent,RQS_RECORDING);

当我录制视频时,此代码可以正常工作。时间从 5 到 0 倒计时,5 秒后录音自动停止。但是当我录制声音时,这个有限的时间不起作用。为什么?

Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
intent.putExtra("android.intent.extra.durationLimit", 5);
startActivityForResult(intent, RQS_RECORDING);

为什么我录制声音时这个 5 秒的时间限制不起作用?

【问题讨论】:

恐怕还没有答案。似乎解决方案不存在:-) 【参考方案1】:

我有一个类似的问题,我使用下面的代码 sn-p 解决了我的问题:

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 5);
startActivityForResult(this, cameraIntent,CAMERA_PIC_REQUEST);

其中 CAMERA_PIC_REQUEST 是我的 int 类型:

private static final int CAMERA_PIC_REQUEST = 1337;

【讨论】:

谢谢! cameraIntent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 5); 完全为我工作。 :) 虽然我将数字改为 60,持续 60 秒。【参考方案2】:

您应该尝试使用 MediaRecorder mRecorder = new MediaRecorder(); 和 mRecorder.setMaxDuration(5000) // 5 秒;

【讨论】:

【参考方案3】:
private void recordVideo() 
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
fileUri = getOutputMediaFileUri(MEDIA_TYPE_VIDEO);

// set video quality
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 30);

intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set Video file
startActivityForResult(intent, CAMERA_CAPTURE_VIDEO_REQUEST_CODE);

fileuri 是您的文件路径。试试这个。

【讨论】:

【参考方案4】:
    intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 60);

【讨论】:

MediaStore.EXTRA_DURATION_LIMIT 与“android.intent.extra.durationLimit”完全一样

以上是关于如何使用 Intent 限制录音时间?的主要内容,如果未能解决你的问题,请参考以下文章

如何自动限制 Android 录音长度?

如何在意图“Intent.EXTRA_ALLOW_MULTIPLE”上设置最大文件选择计数。用户最多可以选择一定的限制?

如何为录音设置 60 秒的限制

如何构建 iOS7 风格的录音机应用程序

如何同时使用 NAudio 生成信号和录音?

如何使用 getUsermedia 和 mediaRecorder 下载录音并给出视频规范?