Функция VB (VBA) для определения продолжительности медиафайла

Получение длительности медиафайла формулой Excel

Узнать продолжительность (время) звучания аудиофайла (MP3, WAV и т.д.), или длительность видеофайла (видеоролика) из Excel совсем несложно.

Используйте функцию ПродолжительностьМедиафайла:
(функцию можно использовать как в макросах, так и на листе Excel)

Sub Пример_Использования_Функции_ПродолжительностьМедиафайла()
    Путь = "E:\Music\MODERN_TALKING With_a_little_love.mp3"
    MsgBox "Продолжительность в секундах: " & ПродолжительностьМедиафайла(Путь), vbInformation, Путь
End Sub

 

А вот и код самой функции:

Function ПродолжительностьМедиафайла(ByVal filename$) As Double
    ' получает в качестве параметра полный путь к медиафайлу
    ' возвращает целое число - его продолжительность (в секундах)
    On Error Resume Next: Dim MCI As New clsMCI    ' создаём новый экземпляр класса
    MCI.OpenMCI filename$    ' открываем медиафайл (AVI, MPEG, MP3, WAV и т.д.)
    ' если удалось прочитать медиафайл
    If MCI.MCIError = False Then ПродолжительностьМедиафайла = MCI.Length
    MCI.CloseMCI: Set MCI = Nothing    ' уничтожаем объект MCI
End Function

 

Для работы этой функции используется модуль класса (см. пример во вложении)

Обратите внимание на формулы в зелёных ячейках - они по имени файла возвращают его продолжительность в секундах

 


Можно использовать и компонент WindowsMediaPlayer:

Компонент WindowsMediaPlayer на форме VBA в Excel

В форме используется следующий код:

Private Sub CommandButton1_Click()
    Me.WindowsMediaPlayer1.URL = "D:\LedStudio content\ambulance.avi"
End Sub
 
Private Sub CommandButton2_Click()
    Me.TextBox1 = "": On Error Resume Next
    With Me.WindowsMediaPlayer1.currentMedia
        Me.TextBox1 = Me.TextBox1 & "Продолжительность ролика:" & vbNewLine
        Me.TextBox1 = Me.TextBox1 & "В секундах: " & .duration & vbNewLine
        Me.TextBox1 = Me.TextBox1 & "В минутах: " & .durationString & vbNewLine
    End With
End Sub

 

Пример - в прикреплённом файле WindowsMediaPlayer.xls

Вложения:

Комментарии

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

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

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
  ____     __             ____                     
| _ \ / /_ _ _ | __ ) __ __ __ __
| | | | | '_ \ | | | | | _ \ \ \ /\ / / \ \ / /
| |_| | | (_) | | |_| | | |_) | \ V V / \ V /
|____/ \___/ \__, | |____/ \_/\_/ \_/
|___/
Введите код, изображенный в стиле ASCII-арт.

Не получается применить макрос? Не удаётся изменить код под свои нужды?

Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.