티스토리 뷰

안드로이드 배경음악 돌리기 (서비스 사용)

배경음악을 넣고싶은데 엑티비티간 이동하면서 불편함이 많아 서비스로 돌려보았다.

1. 서비스 클래스 하나를 만든다 ( MusicService .java​ )

public class MusicService extends Service {

public MediaPlayer mp;

@Override

public IBinder onBind(Intent arg0) {

// TODO Auto-generated method stub

return null;

}

public void onStart(Intent intent, int startId) {

Log.i("Example", "Service onStart()");

super.onStart(intent, startId);

mp = MediaPlayer.create(this, R.raw.자신의음악파일명); (음악파일명은 ogg가 좋다고한다 (필자의 블로그 왼쪽에 pc탭을 눌르면 mp3 등등 파일변환하는방법을 포스팅해두었다)

mp.setLooping(true); // 반복 재생 설정 (true와 false로 조정 가능)

//리스너등록

mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { public void onPrepared(MediaPlayer mp) {

//재생 사운드 출력을 시작할 준비가되었을 때

mp.start();

}

});

}

public void onDestroy() {

Log.i("Example", "Service onDestroy()");

super.onDestroy();

mp.pause();

mp.reset();

//해지리스너등록

mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener()

{

public void onCompletion(MediaPlayer mp)

{

mp.release();

}

});

}

}

-----------------------

2, 매니패스트의 액티비티 안에 아래의 서비스 내용을 추가해준다

<service android:name=".MusicService" >

<intent-filter>

<action android:name="액션이름으로 패키지명을넣음" />

<category android:name="android.intent.category.DEFAULT" />

</intent-filter>

</service>

--------------

3. 이제 배경음을 컨트롤하고싶은 액티비티에서

음악을 재생하고싶다면

startService(new Intent("액션이름으로 패키지명을넣음""));

음악을 멈추고싶다면

stopService(new Intent("액션이름으로 패키지명을넣음""));

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함