Страница 1 из 1

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

Добавлено: 07 июн 2012, 23:48
nezachet
Всем доброго дня.
Как найти длину mp3 файла? Копался в MediaStore и MediaPlayer, но так и не разобрался.

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

Добавлено: 08 июн 2012, 02:46
AndreyI
Можно так

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

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

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

Добавлено: 08 июн 2012, 08:25
KamiSempai
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));

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

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

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

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

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

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