Sub PlayList_Click
CLV1.Clear
PCLV.NumberOfSteps = 50
PCLV.lblHint.Font = xui.CreateDefaultBoldFont(20)
PCLV.lblHint.TextColor = xui.Color_Black
If FirstTime = True Then
EnterFolder(cStoragePath)
Else
Storage.SelectDir(True)
Wait For Storage_ExternalFolderAvailable
If (Storage.Root.IsFolder And Storage.Root.Name <> "")Then
EnterFolder(Storage.Root)
End If
End If
End Sub
Private Sub EnterFolder (folder As ExternalFile)
Dim n As Int
ListSongName.Initialize
FoldersStack.Clear
CLV1.Clear
If FoldersStack.Size > 1 Then
CLV1.AddTextItem("..", UpItem)
End If
For Each f As ExternalFile In Storage.ListFiles(folder)
n = n + 1
If f.IsFolder Then
Else If IsMusicFile(f.Name) Then
Dim cs As CSBuilder
cs.Initialize.Append(f.Name).PopAll
ListSongName.Add(f.Name)
Log (f.Name)
CLV1.AddTextItem(cs, f)
End If
Next
PCLV.Commit
PCLV.B4XSeekBar1.Value = CLV1.Size - 1
End Sub
Sub CLV1_ItemLongClick(Index As Int, Value As Object)
Dim suffix As String, ls As Int
'Dim Success As Boolean
SongName = ListSongName.Get(Index)
Storage.FindFile(Storage.Root,SongName)
ls = SongName.length
suffix = SongName.SubString2(ls-3, ls)
Log (suffix)
If suffix <> "mp3" Then
Chooser.Show("audio/*", "Choose audio file")
Wait For Chooser_Result (Success As Boolean, Dir As String, FileName As String)
If Success Then
Dim InStr As InputStream = File.OpenInput("ContentDir", FileName)
Dim OutStr As OutputStream = File.OpenOutput(File.DirInternal,SongName,False)
File.Copy2(InStr,OutStr)
OutStr.Close
Else
MsgboxAsync("open file error","")
End If
Else
Player1.Prepare(Player1.CreateFileSource(File.DirInternal,SongName))
JukeBox.Player = Player1
Label1.Text = " Music Title: " & SongName
Player1.Play
End If
End Sub
Private Sub IsMusicFile (Name As String) As Boolean
Dim n As String = Name.ToLowerCase
For Each extension As String In Array("3gp", "mp3", "flac", "mid", "wav")
If n.EndsWith(extension) Then Return True
Next
Return False
End Sub