Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I'm trying to get the data that the soundcard is outputting. Unfortunately, from my understanding of the Java Sound API, SourceDataLine does not support the read method, and there is no way to listen for raw data. I want to stick to Java for this, rather than C++, so if anyone knows how to listen for audio output on the soundcard that would be great.

Thanks very much!

Sorry if this post is confusing, just woke up.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
532 views
Welcome To Ask or Share your Answers For Others

1 Answer

I've researched this a while, and determined any implementation using only java sound will not work with any reliability on multiple audio cards.

There are a few solutions though. Hopefully one of these helps you.

  1. Bite the bullet, write some C++ code to allow this functionality on different operating systems.
  2. Use Java Sound to capture audio from a virtual audio recorder adapter which loops back the system audio output.
  3. Create a loopback yourself using cables to feed a sound output port into a sound input port.

I recommend option 1 if you're developing this for a professional application as installation will be cleaner.

Go with option 2 if you've a short amount of time, and you expect to spend more time with your users, or your users are tech savvy.

Use option 3 if this is just a hobby, or some one-off project for a client.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...