播放通知,默认的声音只(安卓) [英] Play notification default sound only (Android)

查看:125
本文介绍了播放通知,默认的声音只(安卓)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何我只玩一个通知声音(兵不血刃状态栏通知)?我想通知默认的声音,准确地发挥它作为一个通知声音。是否有可能使用MediaPlayer的实现呢?

解决方案

 乌里defaultRingtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

的MediaPlayer媒体播放器=新的MediaPlayer();

尝试 {
      mediaPlayer.setDataSource(背景下,defaultRingtoneUri);
      mediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);
      媒体播放器prepare()。
      mediaPlayer.setOnCompletionListener(新OnCompletionListener(){

         @覆盖
         公共无效onCompletion(MediaPlayer的熔点)
         {
            mp.release();
         }
      });
  mediaPlayer.start();
}赶上(抛出:IllegalArgumentException E){
 e.printStackTrace();
}赶上(SecurityException异常E){
 e.printStackTrace();
}赶上(IllegalStateException异常E){
 e.printStackTrace();
}赶上(IOException异常E){
 e.printStackTrace();
}
 

How can I play a notification sound only (without firing a status bar notification)? I want the notification default sound and play it exactly as a notification sound. Is it possible to achieve it using MediaPlayer?

解决方案

Uri defaultRingtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

MediaPlayer mediaPlayer = new MediaPlayer();

try {
      mediaPlayer.setDataSource(context, defaultRingtoneUri);
      mediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);
      mediaPlayer.prepare();
      mediaPlayer.setOnCompletionListener(new OnCompletionListener() {

         @Override
         public void onCompletion(MediaPlayer mp)
         {
            mp.release();
         }
      });
  mediaPlayer.start();
} catch (IllegalArgumentException e) {
 e.printStackTrace();
} catch (SecurityException e) {
 e.printStackTrace();
} catch (IllegalStateException e) {
 e.printStackTrace();
} catch (IOException e) {
 e.printStackTrace();
}

这篇关于播放通知,默认的声音只(安卓)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆