2010-09-20 136 views
3

我正在测试通知。我创建了一个音频播放启用的模拟器。我能够获得通知,但我无法听到声音。可能是什么问题呢?有没有我缺少的设置?通知声音问题

NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(ns); 
     int icon = R.drawable.icon; 
     CharSequence tickerText = "Hello"; 
     CharSequence contentTitle = "My notification"; // expanded message title 
     CharSequence contentText = "Hello";  // expanded message text 

     Intent notificationIntent = new Intent("ABC"); 
     PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0); 

     long when = System.currentTimeMillis(); 

     Notification notification = new Notification(icon, tickerText, when); 

     notification.defaults |= Notification.DEFAULT_SOUND; 

     notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); 


     mNotificationManager.notify(HELLO_ID, notification); 

当我看到logcat时,我有以下堆栈跟踪。

09-20 15:44:47.297: DEBUG/MediaPlayer(62): Couldn't open file on client side, trying server side 
09-20 15:44:47.347: ERROR/MediaPlayerService(34): Couldn't open fd for content://settings/system/notification_sound 
09-20 15:44:47.347: ERROR/MediaPlayer(62): Unable to to create media player 
09-20 15:44:47.415: WARN/NotificationService(62): error loading sound for content://settings/system/notification_sound 
09-20 15:44:47.415: WARN/NotificationService(62): java.io.IOException: setDataSource failed.: status=0x80000000 
09-20 15:44:47.415: WARN/NotificationService(62):  at android.media.MediaPlayer.setDataSource(Native Method) 
09-20 15:44:47.415: WARN/NotificationService(62):  at android.media.MediaPlayer.setDataSource(MediaPlayer.java:714) 
09-20 15:44:47.415: WARN/NotificationService(62):  at android.media.MediaPlayer.setDataSource(MediaPlayer.java:669) 
09-20 15:44:47.415: WARN/NotificationService(62):  at com.android.server.NotificationPlayer$CreationAndCompletionThread.run(NotificationPlayer.java:88) 

回答

6

这个思想是什么是正确的。在阅读another person's problems后,我添加了指定的目录结构并将声音文件推送到DDMS中的/mnt/sdcard/media/audio/notifications目录。 (我认为C:\Program Files (x86)\Android\android-sdk\platforms\android-14\data\res\raw\fallbackring.ogg可以发出很好的通知声音。)然后在模拟器中卸下并重新安装SD卡。通知铃声设置除了“静音”之外还有“Cobalt”,选择后,我的通知听起来很正常。

4

我能够通过在SD卡上给它一个不同的文件来获得通知声音播放。播放默认声音时出现问题。我不确定默认声音是什么。当我进入设置并看到默认声音时 - 它只有一个选项,即无声。我也无法改变它。 所以可能没有默认通知声音,因此我得到了这个错误,尽管我们假设,会有一个合理的默认值。