這是我檢索存儲的所有歌曲的列表:播放所選擇的歌曲在不同的活動
enter code here
公共類MainActivity擴展AppCompatActivity {
public static final long pos=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView audioView = (ListView) findViewById(R.id.songView);
ArrayList<String> audioList = new ArrayList<>();
String[] proj = { MediaStore.Audio.Media._ID,MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media.DURATION};// Can include more data for more details and check it.
final Cursor audioCursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, proj, null, null, null);
if(audioCursor != null){
if(audioCursor.moveToFirst()){
do{
int audioIndex = audioCursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME);
audioList.add(audioCursor.getString(audioIndex));
}while(audioCursor.moveToNext());
}
}
audioCursor.close();
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,android.R.id.text1, audioList);
audioView.setAdapter(adapter);
audioView.setOnClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
Intent now_play=new Intent(MainActivity.this, NowPlaying.class);
now_play.putExtra(pos, id);
startActivity(now_play);
}
}
}
如何我是否已經選擇了哪首歌曲,然後如何讓該代碼播放該文件?
public class NowPlaying extends AppCompatActivity implements View.OnClickListener{
private ImageButton bplay;
private ImageButton bpause;
private ImageButton bfr;
private ImageButton bff;
private ImageButton breplay;
MediaPlayer mp;
SeekBar sb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(layout.now_playing);
initializeVariables();
bplay.setOnClickListener(this);
bpause.setOnClickListener(this);
bff.setOnClickListener(this);
bfr.setOnClickListener(this);
sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progress=0;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
this.progress=progress;
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
breplay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mp.setLooping(true);
}
}
}
}
@Override
public void onClick(View v) {
switch(v) {
case id.play:
mp.start();
break;
case id.pause:
mp.pause();
break;
case id.ff:
mp.reset();
}
} 私人無效initializeVariables(){
bplay=(ImageButton)findViewById(id.play);
bff=(ImageButton)findViewById(id.ff);
bfr= (ImageButton) findViewById(id.fr);
bpause=(ImageButton)findViewById(id.pause);
breplay=(ImageButton)findViewById(id.replay);
mp=new MediaPlayer();
sb=(SeekBar)findViewById(id.seekBar);
}
}
只是不downvote它。如果它以任何方式不符合堆棧標準,我將對其進行編輯。 –