Как узнать длину аудиозаписи в Android - PullRequest
1 голос
/ 01 мая 2011

Я использую следующий код для записи звука:

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

Я хотел бы знать, как долго будет длиться записьв секундах.Можно ли как-то запросить это?Если ничего не помогает, я могу воспроизвести клип программно и рассчитать время, но я бы предпочел более прямой метод, если это возможно.Спасибо!

Ответы [ 2 ]

3 голосов
/ 01 мая 2011

Я не знаю, достаточно ли это быстро для вас. Но в случае, если вы не знаете - вам не обязательно играть в нее. Достаточно создать экземпляр MediaPlayer и указать путь к файлу и вызову getDuration().

MediaPlayer mp = MediaPlayer.create(yourActivity, Uri.parse(path));
int duration = mp.getDuration();
0 голосов
/ 29 мая 2013

Я делаю это, используя мой поток ввода: is.available () на InputStream дает мне длину.

...