Android开发之手机铃声代码实现

如果读到的是音频文件路径,需要先将音乐文件插入到多媒体库。如:path传入:/mnt/sdcard/mp3/a.mp3

  1. //设置--铃声的具体方法  
  2.     public void setMyRingtone(String path)  
  3.     {   
  4.       File sdfile = new File(path);  
  5.       ContentValues values = new ContentValues();  
  6.       values.put(MediaStore.MediaColumns.DATA, sdfile.getAbsolutePath());  
  7.       values.put(MediaStore.MediaColumns.TITLE, sdfile.getName());  
  8.       values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");    
  9.       values.put(MediaStore.Audio.Media.IS_RINGTONE, true);  
  10.       values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);  
  11.       values.put(MediaStore.Audio.Media.IS_ALARM, false);  
  12.       values.put(MediaStore.Audio.Media.IS_MUSIC, false);  
  13.        
  14.       Uri uri = MediaStore.Audio.Media.getContentUriForPath(sdfile.getAbsolutePath());  
  15.       Uri newUri = this.getContentResolver().insert(uri, values);  
  16.       RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_RINGTONE, newUri);  
  17.       Toast.makeText( getApplicationContext (),"设置来电铃声成功!", Toast.LENGTH_SHORT ).show();  
  18.       System.out.println("setMyRingtone()-----铃声");  
  19.     }  
  20.  
  21.   //设置--提示音的具体实现方法  
  22.     public void setMyNotification(String path)  
  23.     {  
  24.     
  25.       File sdfile = new File(path);    
  26.       ContentValues values = new ContentValues();  
  27.       values.put(MediaStore.MediaColumns.DATA, sdfile.getAbsolutePath());  
  28.       values.put(MediaStore.MediaColumns.TITLE, sdfile.getName());  
  29.       values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");    
  30.       values.put(MediaStore.Audio.Media.IS_RINGTONE, false);  
  31.       values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);  
  32.       values.put(MediaStore.Audio.Media.IS_ALARM, false);  
  33.       values.put(MediaStore.Audio.Media.IS_MUSIC, false);  
  34.        
  35.       Uri uri = MediaStore.Audio.Media.getContentUriForPath(sdfile.getAbsolutePath());  
  36.       Uri newUri = this.getContentResolver().insert(uri, values);  
  37.        
  38.       RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_NOTIFICATION, newUri);  
  39.       Toast.makeText( getApplicationContext (),"设置通知铃声成功!", Toast.LENGTH_SHORT ).show();  
  40.       System.out.println("setMyNOTIFICATION-----提示音");  
  41.     }  
  42.   //设置--闹铃音的具体实现方法  
  43.   public void setMyAlarm(String path)  
  44.     {  
  45.       File sdfile = new File(path);    
  46.       ContentValues values = new ContentValues();  
  47.       values.put(MediaStore.MediaColumns.DATA, sdfile.getAbsolutePath());  
  48.       values.put(MediaStore.MediaColumns.TITLE, sdfile.getName());  
  49.       values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");    
  50.       values.put(MediaStore.Audio.Media.IS_RINGTONE, false);  
  51.       values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);  
  52.       values.put(MediaStore.Audio.Media.IS_ALARM, true);  
  53.       values.put(MediaStore.Audio.Media.IS_MUSIC, false);  
  54.        
  55.       Uri uri = MediaStore.Audio.Media.getContentUriForPath(sdfile.getAbsolutePath());  
  56.       Uri newUri = this.getContentResolver().insert(uri, values);  
  57.       RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM, newUri);  
  58.       Toast.makeText( getApplicationContext (),"设置闹钟铃声成功!", Toast.LENGTH_SHORT ).show();  
  59.       System.out.println("setMyNOTIFICATION------闹铃音");  
  60.     } 

Android开发之手机铃声代码实现,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。