我需要在我的应用程序中设置自定义警报音。谁能告诉我如何将自定义铃声或 Mp3 设置为闹钟?任何形式的帮助将不胜感激。
问问题
13175 次
4 回答
3
于 2012-06-17T19:40:12.987 回答
2
您可以使用音频播放器播放您的 mp3。但这里有一个更好的警报应用程序,可以满足您的要求。
于 2012-06-17T19:14:29.047 回答
0
在 Android 文档中查看状态栏通知页面。特别是参见添加声音部分。
于 2012-06-16T16:01:28.817 回答
0
试试这个
在该文件的原始文件夹地名中添加任何 .mp3 文件
public void setAlarm() {
File file = new File(Environment.getExternalStorageDirectory(),
"/Your Directory Name");
if (!file.exists()) {
file.mkdirs();
}
String path = Environment.getExternalStorageDirectory()
.getAbsolutePath() + "/Your Directory Name";
File f = new File(path + "/", filename + ".mp3");
Uri mUri = Uri.parse("android.resource://" + getContext().getPackageName() + "/raw/" + filename);
ContentResolver mCr = getContext().getContentResolver();
AssetFileDescriptor soundFile;
try {
soundFile = mCr.openAssetFileDescriptor(mUri, "r");
} catch (FileNotFoundException e) {
soundFile = null;
}
try {
byte[] readData = new byte[1024];
FileInputStream fis = soundFile.createInputStream();
FileOutputStream fos = new FileOutputStream(f);
int i = fis.read(readData);
while (i != -1) {
fos.write(readData, 0, i);
i = fis.read(readData);
}
fos.close();
} catch (IOException io) {
}
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, f.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, filename);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
values.put(MediaStore.MediaColumns.SIZE, f.length());
values.put(MediaStore.Audio.Media.ARTIST, R.string.app_name);
values.put(MediaStore.Audio.Media.IS_ALARM, true);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(f.getAbsolutePath());
getContext().getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + f.getAbsolutePath() + "\"", null);
Uri newUri = mCr.insert(uri, values);
try {
RingtoneManager.setActualDefaultRingtoneUri(getContext(),
RingtoneManager.TYPE_ALARM, newUri);
Settings.System.putString(mCr, Settings.System.ALARM_ALERT,
newUri.toString());
Toast.makeText(getContext(), "Done", Toast.LENGTH_SHORT).show();
} catch (Throwable t) {
}
}
于 2018-02-02T11:00:14.403 回答