Estrarre da un file FLAC i dati dell'immagine contenuta

Da Gambas-it.org - Wikipedia.
Versione del 18 giu 2020 alle 07:17 di Vuott (Discussione | contributi) (Creata pagina con "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). <BR>Ciò è...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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