警报声音未被识别为警报类型

时间:2016-05-17 01:33:03

标签: android alarm

我正在为android创建一个警报。问题是警报声没有被识别为警报类型。 链接到照片,看看我想要什么。 Sound types

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

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

播放闹钟。

      ringtoneAlarm.play();

你是如何解决这个问题的?

2 个答案:

答案 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。如果您仍然有问题,请分享您的项目,我可以帮助您找出问题。