1.新建Service类:
覆写onCreate()onStartCommand() onDestory() 方法。Service中定义MediaPlayer类对象,用来播放音乐。
package com.engineer.shizhibin.music;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.util.Log;
public class MusicService extends Service {
private MediaPlayer player;
public MusicService() {
}
public void onCreate() {
super.onCreate();
Log.e("mytarg","oncreate");
player = MediaPlayer.create(this,R.raw.gg);
}
public int onStartCommand(Intent intent, int flags, int startId) {
Log.e("mytarg","onStartCommand");
player.start();
return START_STICKY;
}
public void onDestroy() {
super.onDestroy();
player.stop();
}
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented");
}
}
2.res文件夹下添加raw文件夹,把要播放的 .mp3文件放入其中。
3.Activity_Main.xml中添加两个按钮,一个开始播放,另一个停止播放。
<Button
android:id="@+id/start"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="start"/>
<Button
android:id="@+id/stop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="stop"/>
4.在MainActivity中给两个按钮设置监听,点击start开始服务,播放音乐,点击stop停止服务。
public class MainActivity extends AppCompatActivity {
private Button mStart;
private Button mStop;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mStart = (Button) this.findViewById(R.id.start);
mStop = (Button) this.findViewById(R.id.stop);
final Intent intent = new Intent(MainActivity.this,MusicService.class);
mStart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startService(intent);
}
});
mStop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
stopService(intent);
}
});
}
}