Member 10893967 Ответов: 1

воспроизводить песни из списка, чтобы медиа-плеер в 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

извините,я набрал одну ошибку.Исправлено то, что я не могу играть песню за раз.

1 Ответов

Рейтинг:
0

Member 12924261

когда вы закрываете свою деятельность .. просто добавьте простой код строки.
заканчивать();