//메인
public void mOnClick(View v) {
switch(v.getId()) {
//재생 및 정지
case R.id.play:
if(mPlayer.isPlaying() == false) {
mPlayer.start();
mPlayBtn.setText("Pause");
} else {
mPlayer.pause();
mPlayBtn.setText("Play");
}
break;
//재생 정지. 재시작을 위해 미리 준비
case R.id.stop:
mPlayer.stop();
mPlayBtn.setText("Play");
mProgress.setProgress(0);
Prepare();
break;
case R.id.prev:
case R.id.next:
boolean wasPlaying = mPlayer.isPlaying();
if(v.getId() == R.id.prev){
mIdx = (mIdx == 0 ? mList.size() - 1 : mIdx - 1);
} else {
mIdx = (mIdx == mList.size() - 1 ? 0 : mIdx + 1);
}
mPlayer.reset();
LoadMedia(mIdx);
//이전에 재생 중이었으면 다음 곡 바로 재생
if(wasPlaying) {
mPlayer.start();
mPlayBtn.setText("Pause");
}
break;
case R.id.list:
Intent intent = new Intent(this, List.class);
startActivityForResult(intent, REQUEST_CODE_MUSIC_LIST);
sendBroadcast(intent);
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == RESULT_OK) {
if(resultCode == REQUEST_CODE_MUSIC_LIST) {
if(data != null) {
String musicList = data.getStringExtra(EXTRA_MUSIC_INFO);
}
}
}
}
<main 액티비티에서 버튼 처리 메소드와 넘겨받은 값을 처리하는 onActivityResult()>
public void onItemClick(AdapterView<?> adpater, View view, int position, long id) {
Uri musicURI = Uri.withAppendedPath(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, "" + mMusicAdapter.getMusicID(position));
Intent intent = new Intent();
intent.putExtra(MainActivity.EXTRA_MUSIC_INFO, musicURI);
setResult(MainActivity.REQUEST_CODE_MUSIC_LIST, intent);
finish();
}
<List 클래스의 intent 처리 부분...>
mp3 플레이어를 제작중인 학생입니다.
현재 main액티비티는 구성을 완료하였고..
list란 버튼을 누를때 새로운 곡 정보가 목록으로 표시되는
리스트 액티비티를 생성합니다. (앨범, 곡명, 가수 정보가 나오는...)
여기까지는 구현을 해봤는데..
문제는.. 리스트 뷰에서 곡을 클릭하면 그 data정보가 main으로
넘어와서 그 곡을 플레이해야 하는데..
값을 넘겨받는 과정에서 어떻게 처리를 해야할지 몰라 질문을 드립니다. ㅠㅠㅠ
인텐트로 값을 받아오려고 하는데..
제가 곡 정보를 uri 형식으로 받아오려고 했습니다. 근데.. 문제가 무엇인지 모르겠네요..
재 코딩까지는 아니어도.. 해결 방법만이라도 알려주시면 감사하겠습니다. ㅠㅠㅠ