我正在为android创建一个警报。问题是警报声没有被识别为警报类型。 链接到照片,看看我想要什么。 Sound types
这是我用来设置音调和播放的代码。
Uri alarmTone = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
Ringtone ringtoneAlarm = RingtoneManager.getRingtone(getApplicationContext(), alarmTone);
播放闹钟。
ringtoneAlarm.play();
你是如何解决这个问题的?
答案 0 :(得分: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 :(得分:1)
我刚刚使用HTC Sensation Android 4.0.3(API 15)创建了示例。请下载here 请再次检查设备上的设置RingTone。如果您仍然有问题,请分享您的项目,我可以帮助您找出问题。