나는 aidl 인터페이스를 구현하는 백그라운드에서 MP3 재생 서비스를 실행하려고합니다.서비스를 사용하여 안드로이드가 검색 바 업데이트
interface MPInterface {
void clearPlaylist();
void addSongPlaylist(in String song);
void playFile(in int position);
void pause();
void stop();
void skipForward();
void skipBack();
void test(in String track);
int getCurrentDuration();
int getDuration();
}
은 이후 내가 만들 MediaPlayerService MPInterface 위에 구현하고 활동에 서비스를 바인딩 : 여기 내 AIDL 인터페이스입니다. playFile(), stop() 또는 pause() 같은 일반적인 메서드는 완벽하게 작동합니다. 그러나 그들은 모두 배경 작업입니다. 내 서비스와 인터페이스가 seekbar와 같은 UI 요소와 상호 작용할 수 있기를 바랍니다 (예 : seekbar mediaplayer를 터치하거나 mediaplayer 진행 상황에 따라 seekbar 진행 상황 업데이트를 찾는 경우). 좋은 포인터 또는 튜토리얼 내가 이것을 달성하는 데 도움이?
여기서 제가 고심하는 점은 MediaPlayer 인스턴스는 로컬 서비스에서만 존재하며 인터페이스를 통해서만 상호 작용할 수 있다는 것입니다. 따라서 나는 액티비티에서 객체를 호출 할 수없고 그에 따라 액티비티에서 seekbar를 업데이트하기 위해 onBufferingUpdate와 같은 이벤트 리스너를 설정할 수 없다. – ForeverNights