如何知道Android中录音的长度

时间:2011-05-01 15:58:31

标签: android audio-recording

我使用以下代码录制音频:

  Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
  intent.setType("audio/*");
  startActivityForResult(Intent.createChooser(intent, "Select audio source"), CardList.ACTIVITY_RECDAUDIO);

当结果返回时,我会执行以下操作:

  Uri u = intent.getData();
  String audioUri = u.getPath();
  InputStream in = new BufferedInputStream(this.getContentResolver().openInputStream(u));

我想知道录音的持续时间是多久。有可能以某种方式查询吗?如果所有其他方法都失败了,我可以以编程方式播放剪辑并计时,但如果可能的话,我希望采用更直接的方法。谢谢!

2 个答案:

答案 0 :(得分:3)

我不知道这对你来说是否足够快。但是如果你不知道 - 你不必真正玩它。创建MediaPlayer实例并设置文件路径和调用getDuration()就足够了。

MediaPlayer mp = MediaPlayer.create(yourActivity, Uri.parse(path));
int duration = mp.getDuration();

答案 1 :(得分:0)

我是通过使用输入流来实现的:在InputStream上的is.available()给出了我的长度。