Android 如何在播放器中添加循环和洗牌
如何在android中添加循环和洗牌。我添加了循环和洗牌,但它不起作用。请解决此问题并帮助我。以下是我的代码详细信息。在中,我想添加重复和洗牌选项,我做了一些编码,如下所示Android 如何在播放器中添加循环和洗牌,android,Android,如何在android中添加循环和洗牌。我添加了循环和洗牌,但它不起作用。请解决此问题并帮助我。以下是我的代码详细信息。在中,我想添加重复和洗牌选项,我做了一些编码,如下所示 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.player); fin
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.player);
final AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
int curVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
// MusicPlayerActivity.mpObject.setOnCompletionListener(this);
settings=(Button)findViewById(R.id.settings);
hide=(Button)findViewById(R.id.hide);
loop=(ImageButton)findViewById(R.id.btnRepeat);
shuffle=(ImageButton)findViewById(R.id.btnShuffle);
time_duration=(TextView)findViewById(R.id.time_duration);
total_time_duration=(TextView)findViewById(R.id.total_time_duration);
volumebar=(SeekBar)findViewById(R.id.volbar);
volumebar.setMax(maxVolume);
volumebar.setProgress(curVolume);
volumebar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar arg0) {
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
}
@Override
public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
System.out.println("changing volumes.....");
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, arg1, 0);
}
});
seekBar = (SeekBar) findViewById(R.id.seekBar);
seekBar.setMax(300);
seekBar.setOnSeekBarChangeListener(this);
play=(ImageView) findViewById(R.id.player_play_pause_image);
settings.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i=new Intent(MusicPlayerActivity.this,Settings.class);
startActivity(i);
}
});
mBinder = new ServiceBinder(this);
mBinder.bindService(new ServiceBinderDelegate() {
@Override
public void onIsBound() {
togglePlay(Songs.current_track);
}
});
loop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
if(isRepeat){
isRepeat = false;
Toast.makeText(getApplicationContext(), "Repeat is OFF", Toast.LENGTH_SHORT).show();
loop.setImageResource(R.drawable.ic_launcher);
}else{
// make repeat to true
isRepeat = true;
Toast.makeText(getApplicationContext(), "Repeat is ON", Toast.LENGTH_SHORT).show();
// make shuffle to false
isShuffle = false;
loop.setImageResource(R.drawable.ic_launcher);
shuffle.setImageResource(R.drawable.ic_launcher);
}
}
});
linearplayerlayout=(LinearLayout)findViewById(R.id.playerlayout);
utils = new Utilities();
mIndex=Songs.current_track;
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy);
// add=(Button)findViewById(R.id.add);
hide.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// clear_music();
//finish();
Songs.current_track=mIndex;
moveTaskToBack (true);
}
});
seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
if (mIsTrackLoaded)
mBinder.getService().seek((float) seekBar.getProgress() / seekBar.getMax());
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
}
});
shuffle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
if(isShuffle){
isShuffle = false;
Toast.makeText(getApplicationContext(), "Shuffle is OFF", Toast.LENGTH_SHORT).show();
shuffle.setImageResource(R.drawable.ic_launcher);
}else{
// make repeat to true
isShuffle= true;
Toast.makeText(getApplicationContext(), "Shuffle is ON", Toast.LENGTH_SHORT).show();
// make shuffle to false
isRepeat = false;
shuffle.setImageResource(R.drawable.ic_launcher);
loop.setImageResource(R.drawable.ic_launcher);
}
}
});
findViewById(R.id.player_prev).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
playPrev();
}
});
findViewById(R.id.player_next).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
playNext();
}
});
findViewById(R.id.player_play_pause).setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("TOGGLE PLAY");
togglePlay(mIndex);
}
});
}
在…上浏览库时,您可以快速将歌曲添加到队列中。。。将音乐添加到队列的菜单图标 使用屏幕底部“正在播放”栏上的按钮控制播放、无序播放歌曲或重复播放歌曲
这是一个快速参考指南,现在正在播放的屏幕。。。上一轨道或下一轨道;如何重新排列播放队列;如何重复或洗牌播放队列;溢出菜单。。。添加到播放队列:将此项目放置在播放队列的末尾您好,我添加了重复和洗牌,但它不工作,请检查