line.addLineListener(lineListener); line.open(audioFormat); } catch (Exception e) {
line.addLineListener(lineListener); line.open(audioFormat); } catch (Exception e) {
if (!line.isOpen()) { line.open(); line.addLineListener(event -> { log.debug("Event: {}", event); if (event.getType() != Type.STOP) {
@Override public void addLineListener (LineListener listener) { dataLine.addLineListener(listener); }
@Override public void addLineListener (LineListener listener) { dataLine.addLineListener(listener); }
@Override public void addLineListener (LineListener listener) { dataLine.addLineListener(listener); }
@Override public void addLineListener (LineListener listener) { dataLine.addLineListener(listener); }
@Override public void addLineListener(LineListener listener){ if(myOutputLine == null){ return; } myOutputLine.addLineListener(listener); myListeners.add(listener); }
/** * Process the StreamInfo block. * @param streamInfo the StreamInfo block * @see org.kc7bfi.jflac.PCMProcessor#processStreamInfo(org.kc7bfi.jflac.metadata.StreamInfo) */ public void processStreamInfo(StreamInfo streamInfo) { try { fmt = streamInfo.getAudioFormat(); info = new DataLine.Info(SourceDataLine.class, fmt, AudioSystem.NOT_SPECIFIED); line = (SourceDataLine) AudioSystem.getLine(info); // Add the listeners to the line at this point, it's the only // way to get the events triggered. int size = listeners.size(); for (int index = 0; index < size; index++) line.addLineListener((LineListener) listeners.get(index)); line.open(fmt, AudioSystem.NOT_SPECIFIED); line.start(); } catch (LineUnavailableException e) { e.printStackTrace(); } }
/** * Process the StreamInfo block. * @param streamInfo the StreamInfo block * @see org.kc7bfi.jflac.PCMProcessor#processStreamInfo(org.kc7bfi.jflac.metadata.StreamInfo) */ public void processStreamInfo(StreamInfo streamInfo) { try { fmt = streamInfo.getAudioFormat(); info = new DataLine.Info(SourceDataLine.class, fmt, AudioSystem.NOT_SPECIFIED); line = (SourceDataLine) AudioSystem.getLine(info); // Add the listeners to the line at this point, it's the only // way to get the events triggered. int size = listeners.size(); for (int index = 0; index < size; index++) line.addLineListener((LineListener) listeners.get(index)); line.open(fmt, AudioSystem.NOT_SPECIFIED); line.start(); } catch (LineUnavailableException e) { e.printStackTrace(); } }
URL url = new URL( "https://sssss/xxxxx/playback.php?access=subscriber&login=501%40mix&domain=mix.nms.mixnetworks.net&user=501&type=vmail&file=vm-20130109213243000082_mixnetworks_net.wav&time=20130110170638&auth=c43ff32546e126be9b895bbf225b2e75&submit=PLAY"); AudioInputStream fis = AudioSystem.getAudioInputStream(url); System.out.println("File AudioFormat: " + fis.getFormat()); AudioInputStream ais = AudioSystem.getAudioInputStream( AudioFormat.Encoding.PCM_SIGNED,fis); AudioFormat af = ais.getFormat(); System.out.println("AudioFormat: " + af.toString()); int frameRate = (int)af.getFrameRate(); System.out.println("Frame Rate: " + frameRate); int frameSize = af.getFrameSize(); System.out.println("Frame Size: " + frameSize); SourceDataLine line = AudioSystem.getSourceDataLine(af); line.addLineListener(new MyLineListener()); line.open(af); int bufSize = line.getBufferSize(); System.out.println("Buffer Size: " + bufSize); line.start(); byte[] data = new byte[bufSize]; int bytesRead; while ((bytesRead = ais.read(data,0,data.length)) != -1) line.write(data,0,bytesRead); line.drain(); line.stop(); line.close();
m_javaSoundLine.addLineListener(new LineListener() { @Override public void update(LineEvent evt) { if (LineEvent.Type.START.equals(evt.getType())) {