【问题标题】:How to limit native voice recorder at certain time period and size?如何在特定时间段和大小限制本地录音机?
【发布时间】:2015-03-11 02:44:18
【问题描述】:

我在意图的帮助下调用本地录音机

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

正如我所料,它捕捉到的声音。 但是我不能在一定的长度和大小限制下自动停止录制。 我尝试了以下选项

// To Limit duration
        intent.putExtra("android.intent.extra.durationLimit", 10);
        intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 10);

// To Limit size 
        intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, 1024);

我正在使用在 KitKat 上运行的 Samsung Tab 4。

【问题讨论】:

  • 下面的答案对你有帮助吗?

标签: android android-mediarecorder voice-recording


【解决方案1】:

当达到最大长度时,使用EXTRA_MAX_BYTES 停止重新编码。例如:

Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
String MAX_SIZE = android.provider.MediaStore.Audio.Media.EXTRA_MAX_BYTES;
long bytes = (long) (5900 * 4L); 
intent.putExtra(MAX_SIZE, bytes);
startActivityForResult(intent, REQUESTCODE);

【讨论】:

  • 嗨@ρяσѕρєя K,非常感谢。它帮助我限制了大小:) 所以我的目标已经部分实现了。但是我对此感到担忧,这就是为什么您的答案尚未被接受的原因。当我开始录制语音时,它会根据分配的内存显示剩余的可用时间。但是时间减少的数量是显示的两倍。假设它开始时有 30 秒可用,但在 15 秒时终止。甚至时间也减少了 2 秒,例如 (30,28,26...4,2,0)。
猜你喜欢
  • 1970-01-01
  • 2016-11-03
  • 2013-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多