من یه لیست از آهنگ های داخل پوشه asset رو توی یه لیست ویو گذاشتم و با کلیک برروی هر اهنک به اکتویتی دیگه میره و اونجا پخش میشه حالا می خوام اون اهنگی رو که داره پخش میشه رو به عنوان زنگ گوشی انتخاب کنم ولی توی یه قسمتیش موندم من کد رو میزارم لطفا جواب بدیدکد:
کد:
Intent i = getIntent();
Bundle b = i.getExtras();
myList = (ArrayList) b.getParcelableArrayList("songList");
position = b.getInt("pos");
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
if (mp.isPlaying()) {
mp.stop();
mp.release();
mp = new MediaPlayer();
}
}
@Override
public void onClick(View v) {
int id = v.getId();
switch (id) {
case R.id.btPlay:
Uri u = Uri.parse(myList.get(position).toString());
mp = new MediaPlayer();
AssetFileDescriptor afd;
try {
afd = getAssets().openFd(u.toString());
mp.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
Log.i("", afd.getFileDescriptor() + "");
Log.i("", afd.getStartOffset() + "");
Log.i("", afd.getLength() + "");
Log.i("", getAssets().openFd(u.toString()) + "");
mp.prepare();
mp.start();
}
catch (IOException e) {
e.printStackTrace();
}
break;
case R.id.btStop:
if (mp.isPlaying()) {
mp.stop();
mp.release();
mp = new MediaPlayer();
}
break;
case R.id.seRing:
/* File k = new File(u, afd);
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "My Song title");
values.put(MediaStore.MediaColumns.SIZE, 215454);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
values.put(MediaStore.Audio.Media.ARTIST, "Madonna");
values.put(MediaStore.Audio.Media.DURATION, 230);
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
values.put(MediaStore.Audio.Media.IS_ALARM, false);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
//Insert it into the database
Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
Uri newUri = this.getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(
Player.this,
RingtoneManager.TYPE_RINGTONE,
newUri
;*/
break;
}
}
}