I'm trying to route the audio coming from my sound card over the local wi-fi network to another device. I'm effectively trying to stream my sound card output over wi-fi. In order to do this, I need a java API that can get the audio coming from the sound card. Though Java Sound is a popular API it doesn't seem to have a functionality to achieve this.
Any suggestions as to what other API I can use to get this done?
I am most comfortable in java and I don't wanna use any other languages to do this. That's why I've been searching high and low for a Java based API.
Are there any MAX/MSP experts out there? I've used Max/MSP before and I wanted to know if it is possible to access sound card audio using max/MSP.
There are no new questions, but there may be new answers.
posted 9 years ago
I've used JMF for other purposes before and I've not been able to access the sound card output using that. Even for handling basic media, JMF hasn't been a good solution. I've had to resort to other APIs. So I don't think JMF is going to help here. Nevertheless, I've tried it and it doesn't seem to have any such functionality. Any idea if there are any other Java based APIs that might help?
I have checked the Sound API. Though the name suggests it, I don't think it can get sound card audio. After googling aroudn a bit, I found out that getting sound card audio using java isn't easy. People have tried using Sound API before to do this but none has succeeded. So I guess Sound API is also not possible. Though it allows microphone recording and audio manipulation, it doesn't seem to be able to get the sound card output! I just want to stream the sound card data from my PC to another device. Is there any other way to access it?
I think the only problem you might run into is you have to use the inverse access method when you think about accessing sound cards. What we hear as input (sound coming out of the sound card) is considered output to the computer, and what we consider output (the microphone/line-in feeding the sound card) is considered input by the computer. If you want to capture what your computer is outputting (what you hear coming out of the speakers), you will have to feed it back to the input of the sound card as there is no way to read from an output stream. This can be accomplished by using a audio wire jumper between the line-out and the line-in ports on the sound card.
Thanks a lot for the detailed reply! The process seems a bit complicated. Nevertheless, I shall check out the links soon and get back to you on this. It's weird that Java doesn't have provisions for such simple stuff though. :| .