Dừng audio đang phát khi bắt được sự kiện 1 audio khác bắt đầu phát trong android?
chào các bạn
mình mới làm quen với android
mình có 1 layout với 50 button chẳng hạn. mỗi khi click vào button là phát 1 file audio của button đại diện đó -> xảy ra trường hợp,
1 đang phát audio button a, thì người dùng bấm vào button b và audio của button b cũng được phát song song với audio a,
2 đang phát audio button a thì người dùng bấm vào button a -> audio phải phát lại từ đầu thay vì chờ chạy hết audio đang được phát
mình sử dụng mediaplayer trong android để phát audio
xincamon
Bạn tạo 1 global variable đảm nhận phát audio. Vấn đề global variable thì không phải là vấn đề, vì audio đã là tài nguyên global ở mức phần cứng, vượt ra khỏi phạm vi app thông thường rồi
Về interface thì nên tạo theo kiểu event. Khi bấm nút thì gửi Event phát bài nhạc, Event pause, Event stop. Mình chọn Event là do kinh nghiệm, trước thử export bằng method thông thường thì gặp vấn đề dependency injection, injection khó và có khi tạo luôn 2 cái audio.
Audio variable sẽ có các method hứng các event. Bạn muốn chạy song song nhiều nhạc, hay mỗi lúc 1 nhạc thì tuỳ vào logic của audio class.