2014-02-13 3 views
2

Сначала я хочу сказать, что мне жаль, что я знаю, что об этом уже есть, но я новичок в программировании, android - мой первый язык. Как настроить приложение для установки звука из моего приложения в качестве мелодии звонка? Я получил этуУстановить как Ringtone android

String filepath ="/sdcard/yeahitsworking"; 
File ringtoneFile = new File(filepath); 

ContentValues content = new ContentValues(); 
content.put(MediaStore.MediaColumns.DATA,ringtoneFile.getAbsolutePath()); 
content.put(MediaStore.MediaColumns.TITLE, "chinnu"); 
content.put(MediaStore.MediaColumns.SIZE, 215454); 
content.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*"); 
content.put(MediaStore.Audio.Media.ARTIST, "Madonna"); 
content.put(MediaStore.Audio.Media.DURATION, 230); 
content.put(MediaStore.Audio.Media.IS_RINGTONE, true); 
content.put(MediaStore.Audio.Media.IS_NOTIFICATION, false); 
content.put(MediaStore.Audio.Media.IS_ALARM, false); 
content.put(MediaStore.Audio.Media.IS_MUSIC, false); 


//Insert it into the database 
Log.i(TAG, "the absolute path of the file is :"+ 
ringtoneFile.getAbsolutePath()); 
Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringtoneFile.getAbsolutePath()); 
//Uri newUri = context.getContentResolver().insert(uri, content); 
Uri newUri = getContentResolver().insert(uri, content); 
String ringtoneUri = newUri.toString(); 

Log.i(TAG,"the ringtone uri is :"+ringtoneUri); 
RingtoneManager.setActualDefaultRingtoneUri(getBaseContext(),RingtoneManager.TYPE_RINGTONE,newUri); 

Как я могу установить это так, когда я нажимаю на кнопку Ев. bt1 установить это как мелодию звонка? Является ли это что-то вроде этого

ImageButton bt1 = (ImageButton) findViewById(R.id.bt1); 
     bt1.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

Это не двойной пост я искал уже и не из них отвечает на мой вопрос.

+0

Средство хочет установить рингтон на кнопку Button? – Piyush

+0

Да. Я не могу понять, как это сделать – user3231871

+0

проверить мой ответ. – Piyush

ответ

1

Вы можете установить рингтон на событие клика вашей кнопки.

urbutton.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 



      String filepath ="/sdcard/yeahitsworking"; 
      File ringtoneFile = new File(filepath); 

      ContentValues values = new ContentValues(); 
      values.put(MediaStore.MediaColumns.DATA, ringtoneFile .getAbsolutePath()); 
      values.put(MediaStore.MediaColumns.TITLE, "My Song title"); 
      values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3"); 
      values.put(MediaStore.Audio.Media.ARTIST, "Madonna"); 
      values.put(MediaStore.MediaColumns.SIZE, 215454); 
      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); 

      Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringtoneFile 
        .getAbsolutePath()); 
      getContentResolver().delete(
        uri, 
        MediaStore.MediaColumns.DATA + "=\"" 
          + ringtoneFile .getAbsolutePath() + "\"", null); 
      Uri newUri = getContentResolver().insert(uri, values); 

      RingtoneManager.setActualDefaultRingtoneUri(
        YourActivityName.this, RingtoneManager.TYPE_RINGTONE, 
        newUri); 

     } 
    }); 
+0

um Я получаю этот erros: k не может быть разрешен, и RingtonesPlaying не может быть разрешен для типа. – user3231871

+0

@ user3231871 now u can chk – Piyush

+0

Что делать с воспроизведением мелодий не может быть разрешено для типа? – user3231871

1
 File k = new File(path, "mysong.mp3"); // path is a file to /sdcard/media/ringtone 

     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 = main.getContentResolver().insert(uri, values); 

ImageButton bt1 = (ImageButton) findViewById(R.id.bt1); 
     bt1.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
RingtoneManager.setActualDefaultRingtoneUri(
      myActivity, 
      RingtoneManager.TYPE_RINGTONE, 
      newUri 
    ); 
} 
}); 
+0

Но как я могу установить это так, когда я нажимаю кнопку, он устанавливает рингтон? – user3231871

+0

проверить мои отредактированные ответы –

Смежные вопросы