Legen Sie eine ausgewählte audio-Datei als Klingelton

Bin ich eine Anwendung entwickeln: ich bin versucht, eine audio-Datei als Klingelton.

Ich sah viele Beiträge, aber wirklich niemand hat mir geholfen, so entschied ich mich, diese Frage zu stellen.

Ich diesen code verwenden, wenn die Schaltfläche geklickt wird:

@Override
    public void onClick(View v) {
Intent intent = new Intent();  
            intent.setAction(Intent.ACTION_GET_CONTENT);  
            intent.setType("audio/*");          
            startActivityForResult(Intent.createChooser(intent, "Choose Sound File"), Audio);
}

in onActivityResult ich werde versuchen, den Pfad der Datei, und legen Sie dann die audio-Datei als Klingelton verwenden den folgenden code:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == Audio && requestCode==RESULT_OK) {


          Uri s1 = data.getData();
          String s = s1.getPath(); 


        if(s!=null){    

            try {
                k = new File(new URI(s)); //(File k;)
            } catch (URISyntaxException e) {

                e.printStackTrace();
            }
                ContentValues values = new ContentValues();
                values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
                values.put(MediaStore.MediaColumns.TITLE, "My Song title");
                values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mpeg");
                values.put(MediaStore.Audio.Media.ARTIST, "Some Artist");
                values.put(MediaStore.Audio.Media.IS_RINGTONE, false);
                values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
                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 = getContentResolver().insert(uri, values);

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

        }

        }
}

Leider ist dieser code nicht funktioniert.

Ich würde mich über Eure Antworten. Sorry für mein schlechtes Englisch.

InformationsquelleAutor noobProgrammer | 2014-02-13

Schreibe einen Kommentar