コード例 #1
0
 public override void initialize()
 {
     base.initialize();
     this.audioList = new LinkedBlockingQueue();
     DataLine.Info info = new DataLine.Info(ClassLiteral <TargetDataLine> .Value, this.desiredFormat);
     if (!AudioSystem.isLineSupported(info))
     {
         this.logger.info(new StringBuilder().append(this.desiredFormat).append(" not supported").toString());
         AudioFormat nativeAudioFormat = DataUtil.getNativeAudioFormat(this.desiredFormat, this.getSelectedMixer());
         if (nativeAudioFormat == null)
         {
             this.logger.severe("couldn't find suitable target audio format");
         }
         else
         {
             this.finalFormat  = nativeAudioFormat;
             this.doConversion = AudioSystem.isConversionSupported(this.desiredFormat, nativeAudioFormat);
             if (this.doConversion)
             {
                 this.logger.info(new StringBuilder().append("Converting from ").append(this.finalFormat.getSampleRate()).append("Hz to ").append(this.desiredFormat.getSampleRate()).append("Hz").toString());
             }
             else
             {
                 this.logger.info(new StringBuilder().append("Using native format: Cannot convert from ").append(this.finalFormat.getSampleRate()).append("Hz to ").append(this.desiredFormat.getSampleRate()).append("Hz").toString());
             }
         }
     }
     else
     {
         this.logger.info(new StringBuilder().append("Desired format: ").append(this.desiredFormat).append(" supported.").toString());
         this.finalFormat = this.desiredFormat;
     }
 }
コード例 #2
0
 public static AudioFormat getNativeAudioFormat(AudioFormat format)
 {
     return(DataUtil.getNativeAudioFormat(format, null));
 }