Estrarre da un file FLAC i dati dell'immagine contenuta
Un file audio di formato FLAC può mostrarsi sul desktop rappresentato con un'immagine (solitamente della copertina dell'album al quale il brano audio appartiene).
Ciò è possibile, poiché è previsto che il file audio FLAC possa contenere anche i dati del file dell'immagine che lo rappresenta.
Pertanto individuando i byte-dati iniziali e quelli finali del file immagine contenuto, è possibile estrarre tutti i dati del file immagine e salvarli separatamente.
Solitamente viene utilizzato il formato immagine jpeg, ed in particolare la comune versione di file immagine JPG, che ha, come byte iniziali, i valori FF D8 FF E0 00 10 4A 46 49 46 e sempre, come byte terminali, i valori FF D9.
Mostriamo di seguito un semplice e brevissimo codice esemplificativo per individuare i byte iniziali e finali di un file immagine formato JPG, per estrarne tutti i dati e salvarli in un file immagine a parte.
Public Sub Main() Dim s As String Dim ini, fin As Integer s = File.Load("/percorso/del/file/audio.flac") ini = InStr(s, "JFIF") - 6 fin = InStr(s, "\xFF\xD9") s = Mid(s, ini, (fin - ini) + 1) File.Save("/tmp/file_immagine.jpg", s) End
Va da sé che in caso di altro formato immagine, contenuto nel file audio flac, bisognerà comunque procedere in modo analogo, ossia individuare i byte iniziali e finali di tale file immagine, così da poter estrarre tutti i byte-dati del file immagine contenuto.