2016-05-17 2 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 Повторно проверьте свой рингтон на вашем устройстве. если у вас все еще есть проблемы, пожалуйста, поделитесь своим проектом, я могу помочь вам разобраться с проблемой.

Смежные вопросы