2011-03-25 3 views
2

나는 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 진행 상황 업데이트를 찾는 경우). 좋은 포인터 또는 튜토리얼 내가 이것을 달성하는 데 도움이?

+0

여기서 제가 고심하는 점은 MediaPlayer 인스턴스는 로컬 서비스에서만 존재하며 인터페이스를 통해서만 상호 작용할 수 있다는 것입니다. 따라서 나는 액티비티에서 객체를 호출 할 수없고 그에 따라 액티비티에서 seekbar를 업데이트하기 위해 onBufferingUpdate와 같은 이벤트 리스너를 설정할 수 없다. – ForeverNights

답변

1

BroadcastIntent를 사용할 수 있습니까? 그것은 당신이 당신의 UI 요소로부터 데이터를 보낼 수있게해야하고 BroadcastReceiver는 당신의 서비스에 연결하고 그것을 가로 질러 데이터를 보낼 수 있습니다. 그냥 생각.

관련 문제