我将自己的音频文件放在资源文件夹内的原始文件夹中.我想将其设置为通知声音警报.我该怎么办?
Nik*_*hil 12
当您在BroadcastReceiver中收到通知时,请使用下面的代码,然后在代码下方使用的活动类中调用活动,以便播放声音文件.
mMediaPlayer = MediaPlayer.create(this, R.raw.sound1);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setLooping(true);
mMediaPlayer.start();
Run Code Online (Sandbox Code Playgroud)
快乐编码..
小智 11
这通常是使用MediaPlayer实现的,但这不是一个理想的解决方案,因为它独立于通知运行一点,因此会以意想不到的方式表现静音,阻塞模式和其他各种事情.为了保持一致性和兼容性,应使用通知本身的音频机制播放声音.这可以通过设置适当的URI来实现,其方式如下:
NotificationCompat.Builder builder = new NotificationCompat.Builder(
this).setSmallIcon(R.drawable.ic_myicon)
.setContentTitle(title).setAutoCancel(true);
Uri alarmSound = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE
+ "://" + getPackageName() + "/raw/mymp3");
builder.setSound(alarmSound);
...
builder.setContentIntent(pendingIntent);
NotificationManager manager = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(1, builder.build());
Run Code Online (Sandbox Code Playgroud)
关键部分是:
Uri alarmSound = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE
+ "://" + getPackageName() + "/raw/mymp3");
Run Code Online (Sandbox Code Playgroud)
mp3文件存储在/ res/raw文件夹中.
| 归档时间: |
|
| 查看次数: |
25615 次 |
| 最近记录: |