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"><Buttonandroid:id="@+id/btn_play"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Play" /><Buttonandroid: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;@Overridepublic IBinder onBind(Intent intent) {return null;}@Overridepublic void onCreate() {super.onCreate();mediaPlayer = MediaPlayer.create(this, R.raw.your_mp3_file);}@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {if (!mediaPlayer.isPlaying()) {mediaPlayer.start();}return START_STICKY;}@Overridepublic 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;@Overrideprotected 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() {@Overridepublic void onClick(View v) {Intent intent = new Intent(MainActivity.this, MusicService.class);startService(intent);}});btnPause.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(MainActivity.this, MusicService.class);stopService(intent);}});}
}
六、在AndroidManifest.xml中注册MusicService
<service android:name=".MusicService" />
七,结果展示
录制
(为了让录制能够带有声音,代码有部分修改。)
(播放前注意调整音量)
Android播放音乐屏幕录制 20241018