کلیدستان

نسخه‌ی کامل: انتخاب آهنگ از لیست به عنوان زنگ گوشی (در برنامه نویسی اندروید)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
من یه لیست از آهنگ های داخل پوشه 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;
       }
   }
}

 
سلام.
توصیه می کنم کلید زیر را بخوانید :

کلید شماره 850

فایل را در حافظه خارجی (External Storage) کپی کرده و سپس مطابق کد موجود در کلید بالا، آن را به عنوان زنگ گوشی تعیین کنید.

همچنین موضوع زیر را بخوانید :

http://www.kelidestan.com/forum/showthread.php?tid=4482