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类

  1. 在项目中创建一个名为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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值