【问题标题】:How to know the length of an audio recording in Android如何知道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));

我想知道录音的时长(以秒为单位)。是否可以以某种方式查询这个?如果一切都失败了,我可以以编程方式播放剪辑并计时,但如果可能的话,我更喜欢更直接的方法。谢谢!

【问题讨论】:

    标签: android audio-recording


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我通过使用我的输入流来做到这一点:InputStream 上的 is.available() 给了我长度。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-11-11
        • 2012-10-06
        • 1970-01-01
        • 1970-01-01
        • 2018-08-08
        • 2014-11-18
        • 2020-10-15
        相关资源
        最近更新 更多