Android: speichern Sie sound als Klingelton und Benachrichtigung
Spare ich einen sound aus meiner app verwendet werden, wie ein Klingelton oder eine Benachrichtigung sound. Hier ist ein Teil von meinem code, übernommen aus diese Seite:
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, soundName);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/ogg");
values.put(MediaStore.Audio.Media.ARTIST, "artist");
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
values.put(MediaStore.Audio.Media.IS_ALARM, true);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
this.getContentResolver().insert(uri, values);
Mein Verständnis ist, dass der sound gespeichert werden, als auch als Klingelton, Benachrichtigung Ton und alarm, als die Flaggen sind alle auf "true" gesetzt. Zumindest auf dem emulator, das funktioniert aber auf dem eigentlichen Gerät, der Ton zeigt sich in der Klingelton-Liste, und ich habe keine Ahnung, warum.
EDIT: ich habe versucht, um weiter zu untersuchen: entfernen Sie die Zeile mit "IS_RINGTONE" nicht etwas ändern (im Fall, dass nur ein flag kann verwendet werden, zu einer Zeit), ist der Ton nicht zeigen, bis in der Liste mit den Benachrichtigungs-sounds.
Jede Hilfe ist willkommen.
Freundlichen GRÜßEN, Select0r
- Weiß jemand, ob dies möglich ist, auf FLASH CS5.5???? Ich habe entwickelt ein Resonanzboden auf, dass ich es wirklich wirklich brauchen, um Klingeltöne Hinzugefügt, als eine Angelegenheit von Dringlichkeit.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich spielte mit dem Pfad zu bekommen, diese lösen und hier ist die Lösung kam ich mit so weit:
Auf dem emulator, der Weg ist egal, das Geräusch erscheint in der Klingelton als auch die notification-Liste.
Am Telefon, der sound wird zeigen, bis das die Klingelton-Liste, wenn die Datei gespeichert wird
/media/audio/ringtones
ODER/media/audio/
aber NICHT als Meldung.Wenn ich den Pfad
/media/audio/notifications
den sound schließlich erscheint in der notification-Liste (!) aber NICHT in die Klingeltöne nicht mehr.So scheint es, habe ich zum speichern der sound - zweimal, um es in die Liste? (Aber warum nicht speichern Sie es, sobald die arbeiten auf dem emulator?)
Wenn es ein weiterer Weg, um die sounds der beiden Listen (oder sogar drei Listen, es sind die alarm-Töne als gut, ich hatte einfach nicht die Mühe zu spielen, um mit Ihnen) mit nur sparen, Sie noch einmal, bitte lassen Sie mich wissen. (Jetzt mein workaround ist ein Dialogfeld, um den Benutzer entscheiden lassen, ob der Ton als Klingelton oder eine Benachrichtigung.)
Hilft es, wenn Sie versuchen, ändern Sie von MediaStore.Audio.Medien AudioColumns? Wie diese:
Den Verweis nicht sagen, MediaStore.Audio.Medien veraltet ist, aber ich denke, AudioColumns die jetzt verwendet wird. Ich verwende es in meine app und es scheint zu funktionieren.
Sehen Sie in der media player-API in Android
ich.e.android.media.MediaPlayer;
android.media.MediaPlayer.OnCompletionListener . Hier ist es:
http://developer.android.com/reference/android/media/package-summary....
Und das ist, wie Sie spielen einen sound auf brennen ein Klick-listener:
Außerdem haben Sie versucht, die Aufnahme des sounds beim spielen? Probieren Sie es aus und sehen, ob es funktioniert.