如何知道Android中录音的长度
Posted
技术标签:
【中文标题】如何知道Android中录音的长度【英文标题】:How to know the length of an audio recording in Android 【发布时间】:2011-05-01 15:58:31 【问题描述】:我正在使用以下代码来录制音频:
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));
我想知道录音的时长(以秒为单位)。是否可以以某种方式查询这个?如果一切都失败了,我可以以编程方式播放剪辑并计时,但如果可能的话,我更喜欢更直接的方法。谢谢!
【问题讨论】:
【参考方案1】:我不知道这对你来说是否足够快。但如果你不知道 - 你不必实际玩它。创建MediaPlayer
实例并设置文件路径和调用getDuration()
就足够了。
MediaPlayer mp = MediaPlayer.create(yourActivity, Uri.parse(path));
int duration = mp.getDuration();
【讨论】:
【参考方案2】:我通过使用我的输入流来做到这一点:InputStream 上的 is.available() 给了我长度。
【讨论】:
以上是关于如何知道Android中录音的长度的主要内容,如果未能解决你的问题,请参考以下文章