如何在Android中知道录音的长度

如何在Android中知道录音的长度,android,audio-recording,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.getDat

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

  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));

我想知道录音的时间是多少秒。有可能以某种方式对此提出质疑吗?如果其他方法都失败了,我可以通过编程播放剪辑并计时,但如果可能的话,我更喜欢更直接的方法。谢谢

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


我使用我的输入流:is.available()来实现这一点,InputStream上的is给了我长度

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