如何在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();