Ответ 1
Вы можете использовать MediaMetadataRetriever, чтобы получить такую информацию. Этот класс предназначен для использования пользователями, которые хотят получить конкретную информацию о носителе без использования MediaPlayer
.
Вот пример того, как его использовать:
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(your_data_source);
String time = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
long timeInmillisec = Long.parseLong( time );
long duration = timeInmillisec / 1000;
long hours = duration / 3600;
long minutes = (duration - hours * 3600) / 60;
long seconds = duration - (hours * 3600 + minutes * 60);