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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sah ich viele Beiträge, aber jeder zeigte, was ich eigentlich zu tun habe. So entschloss ich mich für diese umfassende Antwort , in der ich die Lösung meines Problems...
Hier ist mein
MainActivity.java
die ich verwendetSchließlich, es ist wirklich wichtig, fügen Sie diese Berechtigungen in Ihren
AndroidManifest.xml
zum Beispiel, wenn Sie nicht fügen Sie die Berechtigung zum schreiben in die externe Speicherung Ihrer app Absturz wie mir.. xD, Was Sie brauchen:
Können Sie versuchen Sie meine app auf Google Play : BackAtel Audio Manager
Hoffe, das hilft.... mein problem ist jetzt gelöst!! ich hoffe, dass ich dein problem gelöst zu sein :))
um die Liste in der Klingelton-Liste, Sie müssen kopieren dieser Datei in den Klingelton-Ordner.
Sorry, aber dieser code funktioniert nicht für mich, warum Sie benötigen, um WRITE_SETTINGS Erlaubnis @noobProgrammer
InformationsquelleAutor noobProgrammer
Ich hatte das gleiche problem und konnte nicht eine Antwort finden überall.
Dies ist der code, den ich verwendet.
InformationsquelleAutor Derek MC
Einstellung audio als Klingelton ist der gleiche wie die Einstellung " Ton-in-alarm-hier ist der code:
mit diesem code, der es ermöglicht, Ihrem sound in bestimmten sd-Karte Ordner und
dann setzen Sie es als Klingelton und alarmtone:
oder können Sie eine vollständige tutorial in Bezug auf dieses problem.
InformationsquelleAutor dondondon