0
点赞
收藏
分享

微信扫一扫

关闭Java音量后仍能听到系统提示音


在Pluto的项目中,Java可以单独设置音量。但是当Java音量设置为OFF时,仍然可以听到Warning/Error/Alarm等系统提示音。 
[SOLUTION] 
分析: 
对于warning/error/alarm声音来说,不是通过Java的MMAPI播放的,而是通过JUI的接口,参考的也不是java audio level而是系统的ring level。因此,即使Java音量关闭,还是能听到正常的系统提示音。 
如果需要统一参考java audio level,在java audio level为0时不播放系统提示音,可以参照如下修改。 

kal_bool jui_widget_play_sound(kal_int32 soundType) 

 { 

  /*----------------------------------------------------------------*/ 

  /* Local Variables */ 

  /*----------------------------------------------------------------*/ 

  aud_play_id_struct id_param; 

  med_result_enum result; 

  /*----------------------------------------------------------------*/ 

  /* Code Body */ 

  /*----------------------------------------------------------------*/ 

  kal_trace(JVM_TRACE_TYPE_JUI, FUNC_J2ME_JUI_WIDGET_PLAY_SOUND, soundType,

 jam_get_ring_volume_level()); 

  kal_prompt_trace(MOD_J2ME, "global audio level is %d", jam_get_aud_volume_level()); 

  //begin 

  /* If mute, return directly */ 

  //if (jam_get_ring_volume_level() == 0) 

  if (jam_get_aud_volume_level() == 0) 

  { 

  kal_prompt_trace(MOD_J2ME, "because audio level is 0, then no ring tone"); 

  return KAL_TRUE; 

  } 

  //end 

  if ((soundType == JUI_ALERT_WARNING) || (soundType == JUI_ALERT_ERROR) || (soundType ==

 JUI_ALERT_ALARM)) 

  { 

  switch (soundType) 

  { 

  case JUI_ALERT_WARNING: 

  id_param.audio_id = (U8) TONE_WARNING1; 

  break; 

  case JUI_ALERT_ERROR: 

  id_param.audio_id = (U8) TONE_ERROR1; 

  break; 

  default: 

  id_param.audio_id = (U8) TONE_WARNING1; 

  break; 

  } 

  id_param.play_style = 0; 

  id_param.volume = jam_get_ring_volume_level(); 

  id_param.output_path = MDI_DEVICE_SPEAKER2; 

  id_param.identifier = 0; 

  result = (med_result_enum) media_aud_play_id(stack_int_get_active_module_id(), &id_param); 

  kal_trace(JVM_TRACE_TYPE_JUI,FUNC_J2ME_JUI_WIDGET_PLAY_SOUND_RESULT,result); 

  return KAL_TRUE; 

  } 

  else 

  { 

  kal_trace(JVM_TRACE_TYPE_JUI,FUNC_J2ME_JUI_WIDGET_PLAY_SOUND_RESULT,-1); 

  return KAL_FALSE; 

  } 

 }

举报

相关推荐

0 条评论