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); } }); } }