我如何环路我的媒体播放器的文件? [英] How do I loop my Media Player files?
本文介绍了我如何环路我的媒体播放器的文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
基本上我有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屋!
查看全文