我如何环路我的媒体播放器的文件? [英] How do I loop my Media Player files?

查看:135
本文介绍了我如何环路我的媒体播放器的文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

基本上我有3首歌曲,我希望用户能够循环回到第一首歌曾经的3首歌曲的循环完成。为什么不工作的呢?它会播放所有3首歌曲,然后在第四个点击,没有歌曲播放。

 的MediaPlayer song0,松1,song2;
按钮播放,下一;
ArrayList的< MediaPlayer的>音乐=新的ArrayList< MediaPlayer的>();
INT轨道= 0;

/ **第一次创建活动时调用。 * /
@覆盖
公共无效的onCreate(包savedInstanceState){


     super.onCreate(savedInstanceState);
     的setContentView(R.layout.main);

     song0 = MediaPlayer.create(TheParty0Activity.this,R.raw.blacksunempire);
     松1 = MediaPlayer.create(TheParty0Activity.this,R.raw.blueskies);
     song2 = MediaPlayer.create(TheParty0Activity.this,R.raw.fuckingnoise);

     music.add(song0);
     music.add(松1);
     music.add(song2);

     玩=(按钮)findViewById(R.id.button0);
     接下来=(按钮)findViewById(R.id.button1);

     play.setOnClickListener(新View.OnClickListener(){

        公共无效的onClick(视图v){
            // TODO自动生成方法存根
            music.get(轨道)。开始();

        }
    });

     next.setOnClickListener(新View.OnClickListener(){

        公共无效的onClick(视图v){
            // TODO自动生成方法存根
            music.get(轨道).stop();
            跟踪++;
            如果(曲目== 3)
                轨道= 0;

            music.get(轨道)。开始();

        }
    });
}
 

解决方案

调用函数:

MediaPlayer.setLooping(TRUE | FALSE)

在mediaplayerObject你打电话后 MediaPlayer的。prepare()

示例:

 乌里mediaUri = createUri(背景下,R.raw.media); // AUDIOFILE原始文件夹
媒体播放器Mplayer的=新的MediaPlayer();
mPlayer.setDataSource(背景下,mediaUri);
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
MPLAYER prepare()。

mPlayer.setLooping(真正的);

mPlayer.start();
 

Basically I have 3 songs, and I want the user to be able to loop back to the first song once the cycle of 3 songs is complete. Why won't this work? It will play all 3 songs, then on the fourth click, no song is played.

MediaPlayer song0, song1, song2;
Button play, next;
ArrayList<MediaPlayer> music = new ArrayList<MediaPlayer>();
int track = 0;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {


     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);

     song0 = MediaPlayer.create(TheParty0Activity.this, R.raw.blacksunempire);
     song1 = MediaPlayer.create(TheParty0Activity.this, R.raw.blueskies);
     song2=  MediaPlayer.create(TheParty0Activity.this, R.raw.fuckingnoise);

     music.add(song0);
     music.add(song1);
     music.add(song2);

     play = (Button) findViewById(R.id.button0);
     next = (Button) findViewById(R.id.button1);

     play.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            music.get(track).start();

        }
    });

     next.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            music.get(track).stop();
            track++;
            if(track == 3)
                track = 0;

            music.get(track).start();

        }
    });
}

解决方案

Call the function:

MediaPlayer.setLooping(true|false)

on the mediaplayerObject after you called MediaPlayer.prepare()

Example:

Uri mediaUri = createUri(context, R.raw.media); // Audiofile in raw folder
Mediaplayer mPlayer = new MediaPlayer();
mPlayer.setDataSource(context, mediaUri);
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.prepare();

mPlayer.setLooping(true);

mPlayer.start();

这篇关于我如何环路我的媒体播放器的文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆