【问题标题】:How to set custom Alarm tone in android如何在android中设置自定义闹钟铃声
【发布时间】:2012-06-16 14:58:37
【问题描述】:

我需要在我的应用程序中设置自定义闹钟铃声。谁能告诉我如何将自定义铃声或 Mp3 设置为闹钟?任何形式的帮助将不胜感激。

【问题讨论】:

标签: android alarm ringtone


【解决方案1】:

这里也有解决这个问题的办法

setting audio file as Ringtone

最好, 沙赫扎德·马吉德

【讨论】:

    【解决方案2】:

    您可以使用音频播放器播放您的 mp3。但是这里有一个更好的警报应用程序,可以满足您的要求。

    http://code.google.com/p/kraigsandroid/source/browse/#git%2Fandroid%2Falarmclock%2Fsrc%2Fcom%2Fangrydoughnuts%2Fandroid%2Falarmclock

    【讨论】:

      【解决方案3】:

      在 Android 文档中查看 Status Bar Notifications 页面。请特别参阅添加声音部分。

      【讨论】:

        【解决方案4】:

        试试这个

        在该文件的原始文件夹位置名称中添加任何 .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) {
        
                }
            }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多