Как определить время файла mp3

Ответить
nezachet
Сообщения: 4
Зарегистрирован: 07 июн 2012, 23:38

Как определить время файла mp3

Сообщение nezachet » 07 июн 2012, 23:48

Всем доброго дня.
Как найти длину mp3 файла? Копался в MediaStore и MediaPlayer, но так и не разобрался.

AndreyI
Сообщения: 372
Зарегистрирован: 14 май 2012, 16:18

Re: Как определить время файла mp3

Сообщение AndreyI » 08 июн 2012, 02:46

Можно так

Код: Выделить всё

File file=new File(dirPath, filename);
Long length=file.length();//Длинна файла в байтах

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Как определить время файла mp3

Сообщение KamiSempai » 08 июн 2012, 08:25

AndreyI писал(а):Можно так
Это длина в байтах. Еще нужно учитывать качество аудио файла.

Код: Выделить всё

    AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file);
    AudioFormat format = audioInputStream.getFormat();
    long audioFileLength = file.length();
    int frameSize = format.getFrameSize();
    float frameRate = format.getFrameRate();
    float durationInSeconds = (audioFileLength / (frameSize * frameRate));
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
andev
Сообщения: 219
Зарегистрирован: 13 янв 2012, 17:56

Re: Как определить время файла mp3

Сообщение andev » 08 июн 2012, 12:01

KamiSempai писал(а):Это длина в байтах. Еще нужно учитывать качество аудио файла.
а если битрейт переменный/, что часто бывает?

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Как определить время файла mp3

Сообщение KamiSempai » 08 июн 2012, 12:28

andev писал(а):а если битрейт переменный/, что часто бывает?
Тогда getDuration() :D
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

nezachet
Сообщения: 4
Зарегистрирован: 07 июн 2012, 23:38

Re: Как определить время файла mp3

Сообщение nezachet » 08 июн 2012, 17:06

KamiSempai писал(а):
andev писал(а):а если битрейт переменный/, что часто бывает?
Тогда getDuration() :D
Спасибо

Ответить