Определение хронометража mp3 файла - VB

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Подскажите пожалуйста есть ли пример кода как считать длительность mp3 файла из vb6? Знаю что расширенная версия ID3 тега содержит поле "время конца". Но во всех примерах которые попадались мне по тегам нет подобного.

Решение задачи: «Определение хронометража mp3 файла»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringW" (ByVal lpstrCommand As Long, ByVal lpstrReturnString As Long, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
  4.  
  5. Private Const MCI_ALIAS As String = "Media_1" ' Любой псевдоним
  6.  
  7. Sub form_load()
  8.     Dim strFileName As String
  9.     Dim buf         As String
  10.     Dim Length      As Single
  11.     Dim dLength     As Date
  12.    
  13.     ' Задаем имя аудио-файла
  14.    strFileName = "u:\Разная\9-para_normalnih vstavay.mp3"
  15.    
  16.     ' Обход ошибки пробелов в имени и пути к файлу
  17.    strFileName = Replace(strFileName, Chr(34), "")
  18.     If InStr(strFileName, " ") <> 0 Then strFileName = Chr(34) & strFileName & Chr(34)
  19.    
  20.     buf = Space$(100)
  21.    
  22.     mciSendString StrPtr("Close " & MCI_ALIAS), 0&, 0&, 0&
  23.    
  24.     If 0 = mciSendString(StrPtr("Open " & strFileName & " alias " & MCI_ALIAS), 0&, 0&, 0&) Then
  25.    
  26.         mciSendString StrPtr("Set " & MCI_ALIAS & " time format milliseconds"), 0&, 0&, 0&
  27.    
  28.         If 0 = mciSendString(StrPtr("Status " & MCI_ALIAS & " length"), StrPtr(buf), Len(buf), 0&) Then
  29.        
  30.             Length = CSng(Left$(buf, InStr(buf, vbNullChar) - 1))
  31.    
  32.             dLength = TimeSerial(0, 0, Length \ 1000)
  33.            
  34.             Debug.Print Length & " ms. = " & dLength
  35.         End If
  36.        
  37.         mciSendString StrPtr("Close " & MCI_ALIAS), 0&, 0&, 0&
  38.     End If
  39.    
  40. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы