MP3: Ошибка при чтении MP3

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

MP3: Ошибка при чтении MP3

Сообщение VERITAS » 14.01.2005 (Пт) 18:12

Здраствуйте уважаемые программеры. :!:
Я уже не раз затрагивал тему воспроизведения Аудио файлов в Visual Basic. Наконец то я все таки смог воспроизводить MP3, WMA, WAV через простую функцию winmm.dll И все отлично пашет.

Однако для окончательного результата проделанной мной работы мне не хватает решить одну проблемку: Проблема встает при чтении размера некоторых MP3 - winmm.dll читает их размер криво. Определенной какой то закономерности и причины я не нашел. Вот например (смотрел через Winamp):
Код: Выделить всё
Mpeg Info File1
Size: 4593755 bytes
Header found at: 256 bytes
Length: 287 seconds
MPEG 1.0 layer 3
128kbit, 11015 frames
44100Hz Joint Stereo
CRCs: No
Copyrighted: Yes
Original: Yes
Emphasis: None

Время файла в Winamp: 4:47
В моей проге: 4:47

Код: Выделить всё
Mpeg Info File2
Size: 5201604 bytes
Header found at: 0 bytes
Length: 188 seconds
MPEG 1.0 layer 3
221kbit (VBR), 7199 frames
44100Hz Stereo
CRCs: No
Copyrighted: No
Original: Yes
Emphasis: None

Время файла в Winamp: 3:08
В моей проге: 5:25

В чем подвох :?:
Может есть другой способ определение длины файла :?:
И еще дайте пожайлуста ссылочку на хороший пример TaG ID :wink:
No comments ...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.01.2005 (Пт) 20:17

Есть файлы с переменным битрейтом, их длительность точно не определяется :roll:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 14.01.2005 (Пт) 21:40

Да какая там точность, если разница в 1,5 минут.
Можно было бы в это поверить, но ведь WINAMP определяет!!! и сама Винда тоже - значит выход есть - но только бы кто его знал :?: :?:

Может xolod знает или tyomich :?:
No comments ...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 4

    TopList