xml
java
package com.commerce.mymusic;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void bofangyinyue(View view) {
Intent intent = new Intent(MainActivity.this,Mymusic.class);
startService(intent);
}
}
service
package com.commerce.mymusic;
import android.app.Service;
import android.content.Intent;
import android.content.res.AssetFileDescriptor;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.widget.Toast;
import java.io.IOException;
public class Mymusic extends Service {
private MediaPlayer mp;
Service private MediaPlayer mp; public Mymusic() {
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Toast.makeText(Mymusic.this,"音乐播放器的服务启动了",Toast.LENGTH_LONG).show();
if (mp !=null){
if (mp.isPlaying()){
mp.stop();
}
mp.release();
}
mp=new MediaPlayer();
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mp.start();
}
});
AssetFileDescriptor file =getResources().openRawResourceFd(R.raw.music);
try{
mp.setDataSource(file.getFileDescriptor(),file.getStartOffset(),file.getLength());
file.close();
mp.prepareAsync();
}catch (IOException e){
e.printStackTrace();
}
return super.onStartCommand(intent, flags, startId);
}
@Override
public IBinder onBind(Intent intent) {
// throw new UnsupportedOperationException("Not yet implemented");
}
}



