Şu anda bilgisayarımın ana ses düzeyini kontrol etmek için Java
numaralı telefondan JSlider
kullanmaya çalışıyorum. Şimdiye kadar bilgisayarımın ana konuşmacısının portunu bulabildim. Ancak, başarılı bir şekilde nasıl çağırılacağını ve getValue() veya setValue() gibi bir yöntemi nasıl çalıştıracağımı bilmiyorum.Bilgisayarımın ana çıkışının kontrolünü alma konusunda yardıma ihtiyacım var Hoparlör
Mixer.Info [] mixers = AudioSystem.getMixerInfo();
System.out.println("There are " + mixers.length + " mixer info objects");
for (Mixer.Info mixerInfo : mixers)
{
System.out.println("mixer name: " + mixerInfo.getName());
Mixer mixer = AudioSystem.getMixer(mixerInfo);
Line.Info [] lineInfos = mixer.getTargetLineInfo(); // target, not source
for (Line.Info lineInfo : lineInfos)
{
System.out.println(" Line.Info: " + lineInfo);
Line line = null;
boolean opened = true;
try
{
line = mixer.getLine(lineInfo);
opened = line.isOpen() || line instanceof Clip;
if (!opened)
{
line.open();
}
FloatControl volCtrl = (FloatControl)line.getControl(FloatControl.Type.VOLUME);
System.out.println(" volCtrl.getValue() = " + volCtrl.getValue());
}
catch (LineUnavailableException e)
{
e.printStackTrace();
}
catch (IllegalArgumentException iaEx)
{
System.out.println(" " + iaEx);
}
finally
{
if (line != null && !opened)
{
line.close();
}
}
}
}
nasıl hoparlörler hattının kontrolünü almak ve değer değiştirmek yapın:
Her şeyi benim PC aramak için aşağıdaki kodu kullanmış ses cihazlarını var?
Şu ana kadar yardım için this web sitesini kullanıyorum.
GÜNCELLEME ben biraz daha yakın geldiğimizi düşünüyorum böylece
tamam. Test GUI programımın altında Java öğreticisinin kodunu "İstediğiniz Denetimleri Olan Bir Hat Almak" (bana verdiğiniz bağlantı) altından kullanmaya çalışıyorum. JSlider'in Change Listener'ım altındaki programıma yapıştırdım. Göründüğü gibi ne
: Ben hata İstisna iletisi basar kaydırıcıyı zaman
Port SPEAKER;
FloatControl volCtrl;
try {
Mixer mixer = AudioSystem.getMixer(null);
SPEAKER = (Port)mixer.getLine(Port.Info.SPEAKER);
SPEAKER.open();
volCtrl = (FloatControl) SPEAKER.getControl(
FloatControl.Type.VOLUME);
} catch (Exception e) {
System.out.println("Failed trying to find LINE_IN"
+ " VOLUME control: exception = " + e);
}
"bulmaya çalışırken Başarısız ...". Neden ana çıkış hoparlörlerimde volCtrl elde etmeme izin vermiyor? SPEAKER'imin kontrolünü almak için bu kodu nasıl düzeltebilirim?