AndroidStudio移动开发:使用Service播放音乐【步骤】
目录
一、创建新application
二、准备音乐文件
三、创建项目和布局(如果需要交互界面的话,这里简单假设一个基本布局)
四、创建MusicService类
五、在MainActivity中启动和控制Service(也可以另外创建MusicActivity类(假设布局对应的Activity为MusicActivity))
六、在AndroidManifest.xml中注册MusicService
七,结果展示
以下在Android Studio中使用Java编写代码,通过Service实现MP3音乐文件播放的基本步骤。
一、创建新application
(可能出现的问题)
修改distributionUrl=自己下的gradle地址
try again 等待
二、准备音乐文件
MP3格式音乐,大小不要太大
Android Resource Directory
raw
右键复制一个MP3音乐文件,粘贴到raw
改名
三、创建项目和布局(如果需要交互界面的话,这里简单假设一个基本布局)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/btn_play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Play" />
<Button
android:id="@+id/btn_pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pause" />
</LinearLayout>
四、创建MusicService类
-
在项目中创建一个名为
MusicService
的类,继承自Service
。
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
public class MusicService extends Service {
private MediaPlayer mediaPlayer;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
mediaPlayer = MediaPlayer.create(this, R.raw.your_mp3_file);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (!mediaPlayer.isPlaying()) {
mediaPlayer.start();
}
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
if (mediaPlayer.isPlaying()) {
mediaPlayer.stop();
}
mediaPlayer.release();
}
}
MP3文件放在res/raw
目录下,your_mp3_file.mp3改为你的音乐文件名称
。
五、在MainActivity中启动和控制Service(也可以另外创建MusicActivity类(假设布局对应的Activity为MusicActivity))
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private Button btnPlay;
private Button btnPause;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnPlay = findViewById(R.id.btn_play);
btnPause = findViewById(R.id.btn_pause);
btnPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, MusicService.class);
startService(intent);
}
});
btnPause.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, MusicService.class);
stopService(intent);
}
});
}
}
六、在AndroidManifest.xml中注册MusicService
<service android:name=".MusicService" />
七,结果展示
录制
(为了让录制能够带有声音,代码有部分修改。)
(播放前注意调整音量)
Android播放音乐屏幕录制 20241018