2012-06-21 2 views
0

Android에서는 현재 실행중인 MediaPlayer의 참조를 다른 활동으로 전달하려고합니다. MediaPlayer가 노래를 재생하면 아래 코드가 실행됩니다. 아래 코드에서 MyEqualizer는 다른 활동입니다. MediaPlayer가 다른 Activity에서 실행 중입니다.현재 실행중인 MediaPlayer의 인스턴스를 다른 활동에 전달하는 방법

if (mPlayer.isPlaying()) { 
    Toast.makeText(MyEqualizer.this, "Song Playing", Toast.LENGTH_SHORT).show(); 
} 
+0

어떤 문제가 있습니까? 그것을 구현하려고 시도 했습니까? –

+0

나는 내가 노래를 부르는 활동을 만들었다. 이 활동에서 이퀄라이저 설정을 사용하기 위해 다른 활동 인 'MyEqualizer'를 호출했습니다. audioSessionId를 저장하고 sharedPreferences를 사용하여 전달했지만 세션 ID는 MediaPlayer 인스턴스와 관련이 없습니다. – reiley

답변

2

나는 AIDL를 통해 액세스 할 수있는 MediaPlayer를위한 Service를 사용하는 것 - 그래서 다른 활동은 서비스와 상호 작용 할 수 있도록하기 쉬운 것입니다. AIDL 파일을 생성하는 것은 정말 간단하고 문제를 해결할 수있는 좋은 방법입니다.

Linuxtopia에는 AIDL에 대한 훌륭한 가이드가 있습니다.

+0

Tim, AIDL을 사용하여 어떻게 수행 할 수 있는지에 대한 코드 스 니펫을 공유 하시겠습니까? –

관련 문제