This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes JavaSound Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "JavaSound" Watch "JavaSound" New topic
Author

JavaSound

Charanjeet dhaliwal
Greenhorn

Joined: Feb 21, 2013
Posts: 2
Hi Everyone!

I am new to Java and learning through HeadFirst.

MidiSystem.getSequencer() is throwing exception.

Even my system is having four MidiDevices(software implemented).


The exception is:
javax.sound.midi.MidiUnavailableException: MIDI OUT transmitter not available

How to solve the issue?

Please help!

Thanks and Regards,
Charanjeet singh
Charanjeet dhaliwal
Greenhorn

Joined: Feb 21, 2013
Posts: 2
This problem is solved.

But now the program is not making any sound?

import javax.sound.midi.*;

public class MiniMusicApp{
public static void main(String[] args){
MiniMusicApp mini = new MiniMusicApp();
mini.play();
}

public void play(){
try{

MidiDevice.Info[] deviceInfo = MidiSystem.getMidiDeviceInfo();

System.out.println(deviceInfo.length);

MidiDevice md = null;


for(int i = 0;i < deviceInfo.length;i++){
if(deviceInfo[i].getName().contains("Sequencer"))
md = MidiSystem.getMidiDevice(deviceInfo[i]);
System.out.println(deviceInfo[i].getName() + " : " + deviceInfo[i].getVendor());
}


Sequencer player = (Sequencer)md;
player.open();

Sequence seq = new Sequence(Sequence.PPQ,4);

Track track = seq.createTrack();


ShortMessage a = new ShortMessage();
a.setMessage(144,1,44,100);
MidiEvent noteOn = new MidiEvent(a,1);
track.add(noteOn);



ShortMessage b = new ShortMessage();
b.setMessage(128,1,44,100);
MidiEvent noteOff = new MidiEvent(b,1);
track.add(noteOff);

player.setSequence(seq);

player.start();
}
catch(Exception e){
e.printStackTrace();
}
}
}


Please Help...
Mansukhdeep Thind
Ranch Hand

Joined: Jul 27, 2010
Posts: 1157

Welcome to JavaRanch Charanjeet. I would suggest you study the "OCJP for java 6" book by Kathy Sierra and Bert Bates if you are new to the language. It is written in lay man language and easy to understand. You need to get the fundamentals crystal clear.


~ Mansukh
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: JavaSound
 
Similar Threads
WA #1.....word association
counting algorithm
void return type in JSP expression
why JMX can not stop
Java ranch rules roundup