2016-05-17 83 views
0

我正在为android创建闹铃。问题在于,警报声音未被识别为警报类型。 指向照片的链接以查看我想要的内容。 Sound types未将闹铃声音识别为闹铃类型

这是我用来设置音调和播放的代码。

 Uri alarmTone = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); 
     Ringtone ringtoneAlarm = RingtoneManager.getRingtone(getApplicationContext(), alarmTone); 

用于播放闹钟。

 ringtoneAlarm.play(); 

你如何解决这个问题?

+0

根据您的描述,您正试图获取闹铃图标,对吧? –

+0

不,我试图让声音播放,但在报警类型。我正在指定闹铃类型,但是以通知类型播放 – jose

回答

2

经过多次搜索,我发现基于此链接的解决方案。

How to correctly set MediaPlayer audio stream type

我已经适应的代码打报警。

am=(AudioManager)getSystemService(Context.AUDIO_SERVICE); 
    am.setMode(AudioManager.MODE_NORMAL); 
    mp=new MediaPlayer(); 
    alarmTone=RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); 
    try 
    { 
     mp.setDataSource(getApplicationContext(), alarmTone); 
     mp.setAudioStreamType(AudioManager.STREAM_ALARM); 
     mp.prepare(); 
     mp.start(); 
    } 
    catch(Exception e) 
    { 
     //exception caught in the end zone 
    } 

我也已将此权限添加到清单文件。

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> 

现在作品完美!

1

我刚刚用HTC Sensation Android 4.0.3(API 15)创建了一个示例。请下载here 请再次检查您的设备上的设置RingTone。如果您仍有问题,请分享您的项目,我可以帮助您找出问题所在。