prosegue il progetto di radio automation e ovviamente c'e la nescessita' di caricare nei DB i brani della vostra collezione musicale.
spesso questi sono in mp3 (od OGG se preferite file in formato open) e sarebbe carino poterli catalogare agevolmente per autore/anno/titolo etc etc.
Perche' duplicare l'immissione se spesso queste informazioni sono gia' nel file con gli opportuni metadata?
TAG mp3 (ed equivalenti OGG) non si possono (ancora?) estrarre attraverso l'interfaccia gstreamer di gambas (gb.media) od almeno ancora non ci sono riuscito, ma con un piccolo tool open (scaricabile dai repository) che si chiama "mp3info" (ogginfo per i file .ogg che trovate nel pacchetto vorbis-tools) poterete aggirare l'ostacolo facilmente.
mettete i pacchetti e poi potete scrivere qualcosa del genere:
Public Sub GetInfo(filepath As String)
Dim sOutput As String
Dim aScan As String[]
Select Case LCase(File.Ext(filepath))
Case "mp3" 'mp3info -p "%S\n"
Exec ["mp3info", "-p", "%a", filepath] To sOutput
Label_artist.Text = sOutput
Exec ["mp3info", "-p", "%c", filepath] To sOutput
TextArea_Comments.Text = sOutput
Exec ["mp3info", "-p", "%l", filepath] To sOutput
Label_album.Text = sOutput
Exec ["mp3info", "-p", "%n", filepath] To sOutput
Label_track.Text = sOutput
Exec ["mp3info", "-p", "%t", filepath] To sOutput
Label_title.Text = sOutput
Exec ["mp3info", "-p", "%y", filepath] To sOutput
Label_year.Text = sOutput
Case "ogg", "flac"
Exec ["ogginfo", filepath] To sOutput
For Each sOutput In Split(sOutput, "\n")
sOutput = Trim(sOutput)
aScan = Scan(sOutput, "*: *m:*s")
If aScan.Count = 3 Then
'Return CInt(CInt(aScan[1]) * 60 + CFloat(Replace(aScan[2], ",", ".")) + 0.5)
Endif
Next
End Select
un piccolo esempio nel pezzo della piattaforma PRS_OSE in fase di alfa
https://sourceforge.net/projects/prsose/files/latest/download?source=filesspero possa esservi utile