• 0

audio input and playback


Question

hi again all! i know i am posting alot lately but hopefully my topics are helping more then just me ... and i will say all the help i have gotten has helped me learn so much!

now I need to move on a bit with my project and start practising with hardware I am not going to ask you to do my work for me but I am asking for a kick start in the right direction ... can someone give me or link me to a bit of code which reads microphone input (I dont know a single thing about programming around hardware so i will just assume that a microphone jack and a built in mic have different bits of code so if you do help could you specify what hardware its accessing)

I then want to process that output and play it back PREFERABLY without out it being saved as a file on my machine as i am sure i could do that without help from you guys (google :D ) when i have a fair understanding on this I am going to try and build a voip ... so can anyone help me with a basic mic and play back program to get me started??

Link to comment
https://www.neowin.net/forum/topic/1127388-audio-input-and-playback/
Share on other sites

13 answers to this question

Recommended Posts

  • 0

The java media framework should do what you need:

http://www.cs.odu.ed...5Capturing.html

can i really call my self a programmer if i just use frameworks though ? :( I have always had a grudge against frameworks I am only going to get a A- max in my php assignment because one of the criteria was to use frameworks but i refused to and programmed it all from scratch, this java is not for an assignment but for personal learning .... do you think i am being silly and every programmer uses frame works or can you see my point?

although further inspection of this website you sent me has allowed me to see its just the basic kind of things rather then a whole program that you tweek xD standard java class sharing

brilliant link

  • 0

can i really call my self a programmer if i just use frameworks though ? :( I have always had a grudge against frameworks I am only going to get a A- max in my php assignment because one of the criteria was to use frameworks but i refused to and programmed it all from scratch, this java is not for an assignment but for personal learning .... do you think i am being silly and every programmer uses frame works or can you see my point?

although further inspection of this website you sent me has allowed me to see its just the basic kind of things rather then a whole program that you tweek xD standard java class sharing

There's no shame in using frameworks. Any way you do it you're already using code someone else wrote, whether it's in the JRE or not.

You can also use the internal javax.sound.sampled:

http://www.jsresources.org/examples/SimpleAudioRecorder.java.html

JMF might help later on though for video if you're interested in doing that.

  • 0

There's no shame in using frameworks. Any way you do it you're already using code someone else wrote, whether it's in the JRE or not.

You can also use the internal javax.sound.sampled:

http://www.jsresourc...order.java.html

JMF might help later on though for video if you're interested in doing that.

I have tried using the sound sampled thing before but I dunno getting the input is fine ... but setting the output as the input directly i am having trouble with i have only played saved files ... video will be a big yes ... I eventually want to make a 100% encrypted text, voice and video program ... stage 1 complete im now on to stage 2 voice :D I already have some methods planned for this should be about 3-5 months and the program should be 100% complete if I can get used to this JMF thing... already having problems with the first example (yes i have downloaded and put the JARS into my lib) its just saying its wrong lol I set di and got everything fine except the vector deviceList... its having a hissy ... if you have used this before could you tell me the issue? obviously im very new to this advanced (well i think its advanced) level of programming


// Get the CaptureDeviceInfo for the live audio capture device
Vector deviceList = CaptureDeviceManager.getDeviceList(new
AudioFormat("linear", 44100, 16, 2));
if (deviceList.size() > 0)
di = (CaptureDeviceInfo)deviceList.firstElement();
else
// Exit if we can't find a device that does linear, 44100Hz, 16 bit, stereo
System.exit(-1);
// Create a Player for the capture device:
try{
Player p = Manager.createPlayer(di.getLocator());
} catch (IOException e) {
} catch (NoPlayerException e) {}
[/CODE]

  • 0

Is it a compile error or a runtime error?

sorry went to bed xD was 5 am....

erm well it just said vector format not reconisged (or applicable) ... so i am trying to build up slowly using all the methods so at moment i am using this ...

and the error is a simple one but I dont understand this thing yet ...

Exception in thread "main" java.lang.Error: Unresolved compilation problem:

The method getDeviceList(Format) in the type CaptureDeviceManager is not applicable for the arguments ()


public class AudioRecorder02 {
static CaptureDeviceInfo di = null;

public static void main(String args[]) {
CaptureDeviceManager.getDeviceList();
CaptureDeviceInfo deviceInfo = CaptureDeviceManager.getDevice("deviceName");
System.out.println(deviceInfo);
}
}
[/CODE]

  • 0

sorry went to bed xD was 5 am....

erm well it just said vector format not reconisged (or applicable) ... so i am trying to build up slowly using all the methods so at moment i am using this ...

and the error is a simple one but I dont understand this thing yet ...

Exception in thread "main" java.lang.Error: Unresolved compilation problem:

The method getDeviceList(Format) in the type CaptureDeviceManager is not applicable for the arguments ()


public class AudioRecorder02 {
static CaptureDeviceInfo di = null;

public static void main(String args[]) {
CaptureDeviceManager.getDeviceList();
CaptureDeviceInfo deviceInfo = CaptureDeviceManager.getDevice("deviceName");
System.out.println(deviceInfo);
}
}
[/CODE]

Make sure you're importing the right CaptureDeviceManager for the empty argument as there are two: [b]javax.media.cdm.CaptureDeviceManager [/b]and[b] javax.media.CaptureDeviceManager[/b]. The first one extends the second one to add a little more functionality to it. The second one doesn't accept an empty argument for getDeviceList though.

  • 0

Make sure you're importing the right CaptureDeviceManager for the empty argument as there are two: javax.media.cdm.CaptureDeviceManager and javax.media.CaptureDeviceManager. The first one extends the second one to add a little more functionality to it. The second one doesn't accept an empty argument for getDeviceList though.

Vector is a raw type. References to generic type Vector<E> should be parameterized

this is whatit says every time i try and use the vector "Vector deviceList = CaptureDeviceManager.getDeviceList();"

  • 0

Usually that should just come up as a warning and not an error. However you can put CaptureDeviceInfo as the parameter for the Vector.

ye that is the warning but i assumed thats what causing the error ... but i think i am wrong I jave changed my code again to try and get the whole data

and it comes up with this ... I am just thumbling around with this thing i really no clue ..

Exception in thread "main" java.util.NoSuchElementException

at java.util.Vector.firstElement(Vector.java:485)

at AudioRecorder02.main(AudioRecorder02.java:20)


import java.io.IOException;
import java.util.Vector;
import javax.media.CaptureDeviceInfo;
import javax.media.Manager;
import javax.media.NoPlayerException;
import javax.media.Player;
import javax.media.cdm.*;
import javax.media.format.AudioFormat;
public class AudioRecorder02 {
static CaptureDeviceInfo di;


public static void main(String args[]) {
Vector deviceList = CaptureDeviceManager.getDeviceList();
di = (CaptureDeviceInfo) deviceList.firstElement();
System.out.println(di);
// Create a Player for the capture device:}
}
[/CODE]

  • 0

ye that is the warning but i assumed thats what causing the error ... but i think i am wrong I jave changed my code again to try and get the whole data

and it comes up with this ... I am just thumbling around with this thing i really no clue ..

Exception in thread "main" java.util.NoSuchElementException

at java.util.Vector.firstElement(Vector.java:485)

at AudioRecorder02.main(AudioRecorder02.java:20)


import java.io.IOException;
import java.util.Vector;
import javax.media.CaptureDeviceInfo;
import javax.media.Manager;
import javax.media.NoPlayerException;
import javax.media.Player;
import javax.media.cdm.*;
import javax.media.format.AudioFormat;
public class AudioRecorder02 {
static CaptureDeviceInfo di;


public static void main(String args[]) {
Vector deviceList = CaptureDeviceManager.getDeviceList();
di = (CaptureDeviceInfo) deviceList.firstElement();
System.out.println(di);
// Create a Player for the capture device:}
}
[/CODE]

That means the Vector is empty and it couldn't find any devices. Did you use the installer version and run the JMF Registry scanner?

post-13022-0-70343000-1356356208.png

This topic is now closed to further replies.
  • Posts

    • Microsoft Flight Simulator's City Update 15 enhances Midwest cities by Pulasthi Ariyasinghe The third major city update of the year has landed for the original Microsoft Flight Simulator and the 2024 release. The latest drop is upgrading the visuals and regional accuracy of three metropolitan regions in the American states of Illinois, Minnesota, and Wisconsin. The 15th city update is adding eight new areas of interest that have been enhanced with high-fidelity TIN (triangulated irregular network) surface texturing in the mentioned regions. The free update highlights Chicago, Elgin, Cicero, and Arlington Heights in Illinois, as well as Minneapolis, St. Paul, Bloomington, Duluth, Brooklyn Park, Woodbury, Lakeville, Plymouth, and Blaine in Minnesota. In Wisconsin, the development has also upgraded the lands and buildings of Milwaukee, Madison, and Racine. The update lands just as one of the world's largest enthusiast flight simulation conventions, FlightSimExpo, kicks off in downtown St. Paul, Minnesota, on June 14. The Flight Sim development team's 40-minute keynote at the event can be watched here. At the same time, Microsoft is bringing the 6-seat, single-engine, multi-use light civil airplane Piper M600 into the game as a part of its Expert Series 2 program. This premium plane can be purchased from the in-game marketplace for $24.99. City Update 15: The United States Midwest is now available in Microsoft Flight Simulator, as well as the newer Microsoft Flight Simulator 2024, as an optional download. It can be accessed across Steam and the Microsoft Store for PC, Xbox Series X|S, and PlayStation 5, as well as Xbox and PC Game Pass subscriptions. Xbox One, mobile, and PC players can also jump into the new content using Xbox Cloud Gaming if they have a Game Pass Ultimate membership. The game must be updated to the latest version to download this free update from the in-game marketplace.
    • Five things you might have missed during Apple's WWDC 2026 by Aditya Tiwari Image: Apple Apple's annual developer event, WWDC 2026, happened from June 8 through June 12. We have already covered several new features and updates that the iPhone maker unveiled during the official keynote. Apple took Google's help and finally announced the upgraded Siri AI personal assistant, which now comes with an app. Moreover, a truckload of Apple Intelligence features took the center stage. That said, this year's WWDC is a bit different, and you might have noticed or missed the following stuff: Apple's ongoing unification of platforms Image: Apple One thing Apple is widely known for is its seamless hardware-software ecosystem. The company added a new chapter in 2020, when it began the Apple Silicon transition and launched macOS 11 Big Sur with native ARM support. Some major changes happened last year as well, when Apple renamed all of its operating systems to version 26 and introduced the Liquid Glass design language. Until WWDC 2025, Apple keynotes had dedicated segments for iOS, iPadOS, macOS, watchOS, and other operating systems, in which the company discussed each in detail. The WWDC 2026 keynote was different, and Apple allotted most of the screen time to Apple Intelligence and Siri. It didn't even publish separate press releases on its website for different operating systems. While it might seem surprising at first, it shows how Apple plans to move forward with its software ecosystem. Be it the Liquid Glass changes, child safety updates, or other features, they are mostly rolling out across multiple platforms. In other words, Apple is slowly blurring the line between its operating systems and achieving feature parity wherever possible. It's easy to rule out that someone in Apple's marketing team forgot to press the publish button. Everything is a calculated move when it comes to a company like Apple. Putting Apple Intelligence left, right, and center hints that the OS itself is no longer the product anymore. It's Siri, not Pepsi Time and again, various Apple products have been compared to unrelated things and turned into meme material. You might have heard about the "cheese grater" Mac Pro or the "trash can" Mac Pro, to name a few. It's Siri's turn this time. The upgraded AI assistant got a fresh logo, and people have started comparing it with Pepsi. There are other contenders, such as the Sony Ericsson logo and the Yin and Yang symbol. Shot on iPhone. Edited on Mac Image: Apple Apple has been putting the iPhone's camera muscles to the test on various occasions. Even NASA astronauts took it to Space earlier this year and captured some out-of-this-world photos. Recently, Apple TV streamed the first major live sporting event shot entirely on iPhone 17 Pro: an MLS match featuring the LA Galaxy vs. the Houston Dynamo FC. The 'Pro' iPhone has also been used to shoot Apple events in recent years. It's "Scary Fast" Mac event in 2023 was among the earliest attempts, and the tradition trickled down to the WWDC 2026 keynote, which ended with the tag line "Shot on iPhone. Edited on Mac." It's unsurprising to see Apple flexing the camera capabilities of its Pro models, especially when it has been baking professional-grade features, including ProRes RAW and Genlock. Hints for the foldable Apple has been sitting on the foldable iPhone for so long. There is still confusion over when the company will make it official. A recent report said that the iPhone Fold might get delayed as Apple is struggling to perfect its hinge mechanism. But Apple has been dropping hints here and there. A developer dug into the iOS 27 beta code and found internal references about device folding states. As verified by Macworld, the code includes references to "foldState" and "angleDegrees" internal status values, which are apparently designed to tell apps if a device is folded and at what angle. As of now, no other Apple device uses these states. The publication also found internal code suggesting Apple has been testing a device with both Touch ID and Dynamic Island, a combo that doesn't exist today. Last event as Apple CEO Image: Apple Tim Cook's bond with Apple is now almost three decades old, having started in 1998 as the SVP of Worldwide Operations. Back in August 2011, Steve Jobs stepped down as Apple CEO months before his passing, and Cook took charge. Now, the baton has been passed to the hardware chief, John Ternus, who will take over the role on September 1. WWDC 2026 is the last major Apple Event for Tim Cook as CEO. We have seen so much during Cook's tenure over the years, much of which defines Apple as we know it today. From new hardware product lines like Apple Watch, AirPods, Apple Vision Pro, and Apple Silicon, to boosting Apple's services business with Apple Music, Apple TV, Apple Pay, Apple Arcade, Apple Fitness+, Apple Care One, and more. That said, the first developer betas for Apple's latest operating systems are now available. You can check if your device is supported on iOS 27, iPadOS 27, macOS 27 Golden Gate, watchOS 27, and other platforms. What's your favorite feature that Apple announced this year at WWDC 2026? Tell us in the comments.
    • Trailer park trash “sport “, fits the current White House
    • KataLib 5.3.0.0 by Razvan Serea KataLib is more than just a music player — it's a complete audio suite designed for music lovers and creators alike. It combines a powerful audio player, a flexible metadata editor, a capable audio converter, and a music library manager into one streamlined application. Core Features: Audio Player Enjoy seamless playback of virtually any audio format or even streaming video files. DJ Mode lets you mix tracks with manual or automatic crossfades. You can also load and save WinAmp-style playlists for quick access to your favorite sets. Audio Converter Convert between a wide range of audio formats effortlessly. Trim or normalize your output automatically, and even extract audio from streaming video sources. Ideal for preparing files for different devices or platforms. Metadata Editor View and edit ID3v2 tags and other metadata. Batch edit multiple files at once, and fetch missing information directly from the MusicBrainz database. You can also apply or update album art with ease. Music Library Manager Organize your entire audio collection, search across tracks instantly, and download cover images from the internet — or use your own custom artwork. KataLib makes it easy to keep your library tidy and enriched with useful info. Supported Formats: KataLib supports a wide range of both lossy and lossless audio formats: Input: OPUS, AAC, FLAC, M4A, MP3, MP4, MPC, APE, AIF, MKV, AVI, MOV, FLV, WEBM, Ogg Vorbis, WAV, WAVPack, WMA, AC3, OGA, MP2, MPGA, MPEG, DTS, M4B, DSD (DFS) Output: OPUS, FLAC, M4A, MP3, Ogg Vorbis, WAV Under the hood, KataLib uses the trusted FFmpeg engine for audio conversion and media playback, ensuring compatibility with virtually all mainstream media formats. KataLib 5.3.0.0 changelog: Added Option to select the Zoom level of the Oscilloscope visualizer. The taskbar button of the app now displays the progress of its processing tasks. The metadata text of the Visualization Video can now be aligned by the user. We can now reorder the order of the Visualizers and Metadata, in the Visualization Video Setup dialog, by removing any item and adding it again. It will be added at the end. Changed The font size of the Visualization Video can now be more than 30 points. Updated yt-dlp library to version 2026... Fixed Opening the Visualization Video Setup dialog could fail if the settings were wrong. Sometimes there were false duplicates in the Rename Tracks dialog. Tracks without metadata appeared without title in the Recent menu. Download: KataLib 5.3.0.0 | 90.0 MB (Open Source) Links: KataLib Home Page | Github | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • Week One Done
      ssd21345 earned a badge
      Week One Done
    • Contributor
      MarkHughes4096 went up a rank
      Contributor
    • Dedicated
      jordanspringer earned a badge
      Dedicated
    • Rookie
      Rimplesnort went up a rank
      Rookie
    • One Year In
      Markus94287 earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      486
    2. 2
      +Edouard
      173
    3. 3
      PsYcHoKiLLa
      138
    4. 4
      ATLien_0
      94
    5. 5
      Steven P.
      79
  • Tell a friend

    Love Neowin? Tell a friend!