我使用以下代码录制音频:
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));
我想知道录音的持续时间是多久。有可能以某种方式查询吗?如果所有其他方法都失败了,我可以以编程方式播放剪辑并计时,但如果可能的话,我希望采用更直接的方法。谢谢!
答案 0 :(得分:3)
我不知道这对你来说是否足够快。但是如果你不知道 - 你不必真正玩它。创建MediaPlayer
实例并设置文件路径和调用getDuration()
就足够了。
MediaPlayer mp = MediaPlayer.create(yourActivity, Uri.parse(path));
int duration = mp.getDuration();
答案 1 :(得分:0)
我是通过使用输入流来实现的:在InputStream上的is.available()给出了我的长度。