If you check the API, there is a link at the top called "Use". If you follow this link you get an overview of all classes, methods and fields that use that specific class or interface.
After having a quick look, you can choose one of the following:
- MidiSystem.getSequencer(), since Sequencer is a sub interface of MidiDevice
- MidiSystem.getSynthesizer(), since Synthesizer is a sub interface of MidiDevice
- a combination of MidiSystem.getMidiDeviceInfo() to retrieve an array of MidiDevice.Info, then MidiSystem.getMidiDevice(MidiDevice.Info) using one of the array values
You'll have to investigate yourself which of these is best.
If so, is there any way around having to declare each and every method for this Sequencer interface? Apparently I also have to declare methods from the MidiDevice interface too since it extends it...there must be a better way.