private
void
playAudio(String filePath)
{
try
{
mp.reset();
mp.setDataSource(filePath);
mp.prepare();
mp.start();
btnPlay.setText(
"중지"
);
mp.setOnCompletionListener(
new
OnCompletionListener(){
public
void
onCompletion(MediaPlayer mp1)
{
btnPlay.setText(
"재생"
);
playPosition++;
nextAudio();
}
});
}
catch
(Exception err)
{
ToastMessage(err.getMessage(), Toast.LENGTH_LONG);
}
}
private
void
nextAudio()
{
if
(playPosition<playFileList.size())
{
playAudio(playFileList.get(playPosition));
}
else
{
ToastMessage(
"마지막 곡입니다."
, Toast.LENGTH_LONG);
}
}
private
void
BeforeAudio()
{
if
(playPosition>playFileList.size())
{
playAudio(playFileList.get(playPosition));
}
else
{
ToastMessage(
"첫 곡입니다."
, Toast.LENGTH_LONG);
}
}
private
OnClickListener reButtonClickListener =
new
OnClickListener(){
public
void
onClick(View v)
{
switch
(v.getId())
{
case
R.id.btnPlay:
if
(mp.isPlaying())
{
mp.stop();
btnPlay.setText(
"재생"
);
}
else
{
playFileList.clear();
SparseBooleanArray sba = lvFileList.getCheckedItemPositions();
int
max = sba.size();
for
(
int
i=
0
;i<max;i++)
{
if
(sba.valueAt(i))
{
playFileList.add(searchFileList.get(sba.keyAt(i)));
}
}
if
(playFileList.size()>
0
)
{
playPosition=
0
;
playAudio(playFileList.get(playPosition));
}
}
break
;
case
R.id.btnNext:
playPosition++;
nextAudio();
case
R.id.btnBefore:
playPosition--;
BeforeAudio();
break
;
}
}
};
}