воспроизводить песни из списка, чтобы медиа-плеер в Android
Привет Друзья,
я разрабатываю приложение, которое хранит песни в listview и воспроизводит соответствующие песни в нашем медиаплеере. я сгенерировал код, но одна проблема заключается в том, что я могу играть песню за раз. то есть , если я выберу одну песню для воспроизведения, она будет играть. затем я выбрал другие песни, обе песни звучат одновременно.Я взял свои песни из базы данных в Listview.Можете ли вы помочь мне решить мою проблему?
Мой код таков
открытый класс расширяет активность ListDownloadedItem{
BookModel bm;
private int currentPosition=0;
BookAdapter bookadpt;
MediaPlayer mp;
ListView с listbooks;
//BookAdapter bookadpt;
/ * * Вызывается при первом создании действия. */
@Ручная коррекция
public void onCreate(Bundle savedInstanceState) {
super. onCreate(savedInstanceState);
setContentView(R. layout.listdownbook);
listbooks = (ListView) findViewById(R. id. down);
bookadpt = новый BookAdapter(ListDownloadedItem. this);
// bookadpt. createDatabase();
bookadpt.открыть();
окончательный ArrayList и Л;bookmodel&ГТ; значения = bookadpt.selectAll();
ArrayList и Л;bookmodel&ГТ;bookModels=новый ArrayList и Л;bookmodel&ГТ;();
listbooks. setAdapter(новый ArrayAdapter< bookmodel> (Это,
андроид.Р.макет.simple_list_item_1, ценности));
bookadpt.рядом();
listbooks.setTextFilterEnabled(правда);
listbooks. setOnItemClickListener(новый OnItemClickListener() {
@Ручная коррекция
public void onItemClick(AdapterView int position, long id) {
bm= values. get (позиция);
playSong (Utilis.DB_PATH + БМ.getPartName());
}
});
}
частная пустота playSong(String songPath) {
флаг=ложь;
mp=новый медиаплеер();
//if (flag= = true)
Мп.стоп();
Мп.сбросить();
Мп.релиз();
пробовать {
mp. setDataSource(songPath);
Мп.подготовить();
Мп.начать();
} catch (IllegalArgumentException e) {
// Todo автоматически генерируемый блок catch
е.печатные();
} catch (SecurityException e) {
// Todo автоматически генерируемый блок catch
е.печатные();
} catch (IllegalStateException e) {
// Todo автоматически генерируемый блок catch
е.печатные();
} catch (IOException e) {
// Todo автоматически генерируемый блок catch
е.печатные();
}
}
@Ручная коррекция
охраняемых недействительными onDestroy() {
супер.onDestroy();
Мп.стоп();
Мп.сбросить();
Мп.релиз();
}
}
Member 10893967
извините,я набрал одну ошибку.Исправлено то, что я не могу играть песню за раз.