2014-02-13 4 views
2

처음으로 나는 미안하다고 말하고 싶다. 이미 이것에 관한 질문은 있지만, 프로그래밍에 익숙하지 않고 android가 제 1 언어라는 것을 알고 있습니다. 내 응용 프로그램에서 소리를 벨소리로 설정하도록 응용 프로그램을 설정할 수 있습니까? 나는 버튼을 예를 클릭하면 내가 지금이 설정할 수있는 방법이벨소리로 설정 안드로이드

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

원하는 설정 벨소리 클릭 버튼 ?? – 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

음 :이 오류가 발생합니다. k를 해결할 수 없으며 RingtonesPlaying을 유형으로 확인할 수 없습니다. – user3231871

+0

@ user3231871 지금 uk 할 수 있습니다 – 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

내 편집 된 답변 확인 –