From 55db5abf69cd9ec118e23c8ebe8b60b3777c2e61 Mon Sep 17 00:00:00 2001 From: Vincent Lucas Date: Wed, 19 Dec 2012 14:17:14 +0000 Subject: [PATCH] Adds a message in the audio configuration dialog, to inform the user that the none audio system is currently selected, only because there is no available audio device. --- resources/languages/resources.properties | 1 + .../impl/neomedia/MediaConfigurationImpl.java | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/resources/languages/resources.properties b/resources/languages/resources.properties index a03ada162..da627188c 100644 --- a/resources/languages/resources.properties +++ b/resources/languages/resources.properties @@ -1360,6 +1360,7 @@ impl.media.configform.DEVICES=Devices impl.media.configform.DOWN=&Down impl.media.configform.ECHOCANCEL=Enable echo cancellation impl.media.configform.ENCODINGS=Encodings +impl.media.configform.NO_AVAILABLE_AUDIO_DEVICE=No available audio device. Please connect one. impl.media.configform.NO_DEVICE= impl.media.configform.NO_PREVIEW=Preview impl.media.configform.UP=&Up diff --git a/src/net/java/sip/communicator/impl/neomedia/MediaConfigurationImpl.java b/src/net/java/sip/communicator/impl/neomedia/MediaConfigurationImpl.java index 2959b9f61..93c18e348 100644 --- a/src/net/java/sip/communicator/impl/neomedia/MediaConfigurationImpl.java +++ b/src/net/java/sip/communicator/impl/neomedia/MediaConfigurationImpl.java @@ -780,6 +780,29 @@ private Component createPreview( preview = new TransparentPanel(new GridBagLayout()); createAudioSystemControls(audioSystem, preview); } + else + { + AudioSystem[] availableAudioSystems + = AudioSystem.getAudioSystems(); + AudioSystem[] activeAudioSystems = mediaService + .getDeviceConfiguration().getAvailableAudioSystems(); + + // If the only one active audio system which is "None" and there + // is(are) other(s) available audio system(s), then it means + // that the other(s) audio system(s) do(es) not have detected + // any device. + if(availableAudioSystems != null + && availableAudioSystems.length > 1 + && activeAudioSystems != null + && activeAudioSystems.length == 1) + { + String noAvailableAudioDevice + = NeomediaActivator.getResources().getI18NString( + "impl.media.configform.NO_AVAILABLE_AUDIO_DEVICE"); + preview = new TransparentPanel(new GridBagLayout()); + preview.add(new JLabel(noAvailableAudioDevice)); + } + } } else if (type == DeviceConfigurationComboBoxModel.VIDEO) {