Tutorial Android Studio : Membuat Aplikasi Pemutar Musik Dengan Background Services

Tutorial Android Studio : Membuat Aplikasi Pemutar Musik –Pada tutorial sebelumnya,kita telah belajar bagaimana Cara Membuat Splash Screen Pada Aplikasi Android,kali ini,kita akan mencoba membuat aplikasi pemutar musik menggunakan Android Studio.

Jadi,pada saat kita memutar musik,kemudian ketika menekan tombol home atau membuka aplikasi lain,musik tetap berjalan,alias berjalan pada background service.apa itu Background Service?Background service merupakan salah satu komponen pada aplikasi Android yang berfungsi melakukan proses tersendiri di bagian background/belakang  sistem.

1.Buat project/aplikasi baru,dengan nama

2.Beri nama activity nya dengan nama activity_musik.xml .

image

activity_musik.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_musik"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.zhulachmad.masih_latihan.Musik">

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PLAY"
android:id="@+id/btnPLAY"
android:layout_marginTop="164dp"
android:layout_alignParentTop="true"
android:layout_toStartOf="@+id/btnPAUSE" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="STOP"
android:id="@+id/btnSTOP"
android:layout_alignTop="@+id/btnPAUSE"
android:layout_toRightOf="@+id/btnPAUSE"
android:layout_toEndOf="@+id/btnPAUSE"/>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PAUSE"
android:id="@+id/btnPAUSE"
android:layout_alignTop="@+id/btnPLAY"
android:layout_centerHorizontal="true"/>

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="57dp"
android:text="MP3 Player" />

</RelativeLayout>

3.Buat direktori baru dengan nama raw ,kemudian masukkan file musik ke dalamnya

image

4.Edit class Musik.java

Musik.java

package com.zhulachmad.masih_latihan;



import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.content.Intent;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import java.io.IOException;


public class Musik extends AppCompatActivity implements OnClickListener{
private Button btnPlay;
private Button btnPause;
private Button btnStop;
private MediaPlayer mp;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_musik);


mp = new MediaPlayer();

btnPlay = (Button) findViewById(R.id.btnPLAY);
btnPause = (Button) findViewById(R.id.btnPAUSE);
btnStop = (Button) findViewById(R.id.btnSTOP);

stateAwal();

btnPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
play();
btnPlay.setEnabled(false);
btnPause.setEnabled(true);
btnStop.setEnabled(true);
}
});

btnPause.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pause();
}
});

btnStop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
stop();
}
});
}

public void onClick(View v){
switch (v.getId()){
case R.id.btnPLAY:
startService(new Intent(this,MusikService.class));
break;
case R.id.btnSTOP:
stopService(new Intent(this,MusikService.class));
break;
}
}

/** State Awal / Pertama Dijalankan */
public void stateAwal(){
btnPlay.setEnabled(true);
btnPause.setEnabled(false);
btnStop.setEnabled(false);
}

/** Dijalankan Oleh Tombol Play */
private void play() {
/** Memanggil File MP3 "indonesiaraya.mp3" */
mp = MediaPlayer.create(this, R.raw.adzan);

try {
mp.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

/** Menjalankan Audio */
mp.start();

/** Penanganan Ketika Suara Berakhir */
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
stateAwal();
}
});
}

/** Dijalankan Oleh Tombol Pause */
public void pause(){
if(mp.isPlaying()){
if(mp!=null){
mp.pause();

}
} else {
if(mp!=null){
mp.start();

}
}
}

/** Dijalankan Oleh Tombol Stop */
public void stop(){
mp.stop();

try{
mp.prepare();
mp.seekTo(0);
}catch (Throwable t) {
t.printStackTrace();
}

stateAwal();
}

}

5.Selanjutnya buat class baru untuk background servicenya

MusikService.java

package com.zhulachmad.masih_latihan;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;

public class MusikService extends Service {

MediaPlayer mp;

@Override
public IBinder onBind(Intent arg0){
return null;
}
@Override
public void onCreate(){
mp=MediaPlayer.create(this, R.raw.adzan);
mp.setLooping(false);
}

public void onStart(Intent intent,int startid){
mp.start();
}
public void onDestroy(){
mp.stop();
}

}

Kemudian coba jalankan aplikasinya,dan lihat hasilnya,dan pada saat musikny sedang berjalan,coba tekan tombol home,apabila musiknya masih berjalan,berarti background service juga sudah berjalan.

Demikian postingan saya kali ini tentang Tutorial Android Studio : Membuat Aplikasi Pemutar Musik Dengan Background Services,semoga bermanfaat.

0 komentar: