我如何在Android中拥有一个mediaPlayer来一个接一个地播放2个或更多mp3文件?

我如何在Android中拥有一个mediaPlayer来一个接一个地播放2个或更多mp3文件?,第1张

概述我正在创建一个我希望它一个接一个地播放多个mp3文件的android应用程序.我的应用程序上有一个mediaPlayer,如何设置播放mp3文件的队列?解决方法:实现此目的的方法是创建一个实现OnCompletionListener的类,该类处理onCompletion并接收下一个要播放的文件.首先像下面这样定义PlayMed

我正在创建一个我希望它一个接一个地播放多个mp3文件的android应用程序.

我的应用程序上有一个mediaPlayer,如何设置播放mp3文件的队列?

解决方法:

实现此目的的方法是创建一个实现OnCompletionListener的类,该类处理onCompletion并接收下一个要播放的文件.
首先像下面这样定义PlayMedia的类:

import androID.content.Context;import androID.media.MediaPlayer;import androID.media.MediaPlayer.OnCompletionListener;import androID.os.AsyncTask;import androID.util.Log;public class PlayMedia extends AsyncTask<VoID, VoID, VoID> {    private static final String LOG_TAG = PlayMedia.class.getSimplename();    Context context;    private MediaPlayer mediaPlayer;    int[] soundIDs;    int IDx =1;    public PlayMedia(MediaPlayer mediaPlayer) {        this.mediaPlayer = mediaPlayer;    }    public PlayMedia(final Context context, final int[] soundIDs) {        this.context = context;        this.soundIDs=soundIDs;        mediaPlayer = MediaPlayer.create(context,soundIDs[0]);        setNextMediaForMediaPlayer(mediaPlayer);    }    public voID setNextMediaForMediaPlayer(MediaPlayer player){        player.setonCompletionListener(new OnCompletionListener() {                     public voID onCompletion(MediaPlayer mp) {                if(soundIDs.length>IDx){                    mp.release();                    mp = MediaPlayer.create(context,soundIDs[IDx]);                    setNextMediaForMediaPlayer(mp);                    mp.start();                    IDx+=1;                }                           }        });    }    @OverrIDe    protected VoID doInBackground(VoID... params) {        try {            mediaPlayer.start();        } catch (IllegalArgumentException e) {            Log.e(LOG_TAG, "", e);        } catch (SecurityException e) {            Log.e(LOG_TAG, "", e);        } catch (IllegalStateException e) {            Log.e(LOG_TAG, "", e);        }        return null;    }}

然后像这样使用PlayMedia:

int[] soundIDs = {R.raw.firstmp3, R.raw.secondmp3};PlayMedia playAudio = new PlayMedia(context,soundIDs);playAudio.execute();
总结

以上是内存溢出为你收集整理的我如何在Android中拥有一个mediaPlayer来一个接一个地播放2个或更多mp3文件?全部内容,希望文章能够帮你解决我如何在Android中拥有一个mediaPlayer来一个接一个地播放2个或更多mp3文件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1090304.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存