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

Alarm sound is not identified as alarm type

我正在为 android 创建闹钟。问题是报警声音未被识别为报警类型。 给个link的照片看看我想要什么。 Sound types

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

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

用于播放闹钟。

      ringtoneAlarm.play();

你是怎么解决这个问题的?

我刚刚使用 HTC Sensation Android 4.0.3(API 15) 创建了示例。请下载here 请再次检查您在设备上设置的铃声。如果还有问题,请分享你的项目,我可以帮你解决问题。

经过大量搜索,我找到了基于此 link 的解决方案。

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"/>

现在完美运行!!