Calcolare la durata di un file MP3 mediante la libreria libmpeg3
Vai alla navigazione
Vai alla ricerca
Questa modalità ottiene la durata del file MP3 dividendo il numero dei Campioni audio contenuti dal file mp3 per la frequenza di campionamento:
campioni_audio / frequenza = durata
Mostriamo un esempio con alcune risorse del API di "libmpeg3": [nota 1]
Library "libmpeg3:2.1.8"
' mpeg3_t* mpeg3_open(char *path, int *error_return)
' Open the MPEG stream.
Private Extern mpeg3_open(path As String, error_return As Pointer) As Pointer
' long mpeg3_audio_samples(mpeg3_t *file, int stream)
Private Extern mpeg3_audio_samples(mpeg3file As Pointer, _stream As Integer) As Long
' int mpeg3_sample_rate(mpeg3_t *file, int stream)
Private Extern mpeg3_sample_rate(mpeg3file As Pointer, _stream As Integer) As Integer
' int mpeg3_close(mpeg3_t *file)
Private Extern mpeg3_close(mpeg3file As Pointer) As Integer
Public Sub Main()
Dim mp3 As Pointer
Dim perc As String
Dim camp as long
Dim freq As Integer
perc = "/percorso/del/file.mp3"
mp3 = mpeg3_open(perc, 0)
If mp3 == 0 Then Error.Raise("Errore !")
camp = mpeg3_audio_samples(mp3, 0)
freq = mpeg3_sample_rate(mp3, 0)
Print "Durata: "; camp / freq; " secondi\e[31m", Time(0, 0, 0, (camp / freq) * 1000)
mpeg3_close(mp3)
End
Note
[1] Vedere anche le seguenti pagine: