Как узнать длину трека?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
valk
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 11.02.2002 (Пн) 18:09
Откуда: Ukraine

Как узнать длину трека?

Сообщение valk » 03.04.2006 (Пн) 10:53

Добрый день!
Как узнать длину трека(mp3/wav/wma)? Нужно определить сколько времени будет проигрываться определенный файл.
Заранее благодарен.
valk

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 03.04.2006 (Пн) 10:55

Чем пользуешься для воспроизведения?
Для MMControl ищи на форуме. Для внешних библиотек ищи на соответствующих сайтах, в SDK. Для работы с непосредственно файлом считывай заголовки, но это мало подходит для mp3 VBR и wma.
Lasciate ogni speranza, voi ch'entrate.

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 03.04.2006 (Пн) 11:48

Код: Выделить всё
Dim pil As MCI_OPEN_PARMS, statparam As MCI_STATUS_PARMS, IDDev As Long,Length as long
pil.dwCallback = vbNull
pil.lpstrDeviceType = vbNullString
pil.lpstrElementName = "C:\1.mp3"
mciSendCommand 0, MCI_OPEN, MCI_OPEN_ELEMENT, pil
IDDev = pil.wDeviceID
statparam.dwItem = MCI_STATUS_LENGTH
mciSendCommand IDDev, MCI_STATUS, MCI_STATUS_ITEM, statparam
Length = statparam.dwReturn
mciSendCommand IDDev, MCI_CLOSE, 0&, 0&

Length -длина в милисекундах(по умолчанию)
Если всё делать своими ручками, они скоро отвалятся !

valk
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 11.02.2002 (Пн) 18:09
Откуда: Ukraine

Сообщение valk » 10.04.2006 (Пн) 9:50

Использую win.media player 9
valk

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 10.04.2006 (Пн) 16:51

http://bbs.vbstreets.ru/download.php?id=4007

Код: Выделить всё
    With mEngine
        .FileName = "C:\Music.wma"
        .DeviceType = "MPEGVideo"
        .mOpen
        Debug.Print .Length
        .mClose
    End With
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16

    TopList  
cron