我如何环路我的媒体播放器的文件?媒体播放器、我的、环路、文件

由网友(上辈子゛我欠你一段情╮)分享简介:基本上我有3首歌曲,我希望用户能够循环回到第一首歌曾经的3首歌曲的循环完成。为什么不工作的呢?它会播放所有3首歌曲,然后在第四个点击,没有歌曲播放。 的MediaPlayer song0,松1,song2;按钮播放,下一;ArrayList的< MediaPlayer的>音乐=新的ArrayList&L...

基本上我有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();

阅读全文

相关推荐

最新文章