Android 开启后台Service播放Mediaplayer

本文是作者学习Android后台Service播放Mediaplayer的实践记录,详细介绍了如何在Service中使用Mediaplayer,包括playMusic(String path)方法和MusicBinder类的运用,用于控制播放、停止并获取播放状态。同时提到了防止长时间音乐文件导致应用崩溃的异步准备策略以及与MainActivity的交互方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

        本篇文章是个人学习日记,纯粹学习交流,如有错误或不到位的地方,请见谅。

        之前我写了一个音乐播放器,回头看发现代码实在凌乱不堪,冗余.....

        我决定重新编写一次简单,清晰的版本

        以下说说怎么在Service使用Mediaplayer,以及控制播放停止及获取状态等信息。

贴代码,然后作解释
public class MyService extends Service {

    private MediaPlayer mediaPlayer;
    private MusicBinder musicBinder;
    private boolean isSetData;                    //是否设置资源

    //播放模式
    public static final int SINGLE_CYCLE = 1;     //单曲循环
    public static final int ALL_CYCLE = 2;        //全部循环
    public static final int RANDOM_PLAY = 3;      //随机播放

    private int MODE;

    @Override
    public void onCreate() {
        super.onCreate();

        //初始化数据
        isSetData = false;
        MODE = ALL_CYCLE;
        mediaPlayer = new MediaPlayer();
        musicBinder = new MusicBinder();
    }

    private void playMusic(String path) {
        try {
            //设置资源
            mediaPlayer.reset();
            mediaPlayer.setDataSource(path);
            isSetData = true;

            //异步缓冲准备及监听
            mediaPlayer.prepareAsync();
            mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedLi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值