当前位置: 首页>>代码示例>>Java>>正文


Java MidiSystem.getMidiFileFormat方法代码示例

本文整理汇总了Java中javax.sound.midi.MidiSystem.getMidiFileFormat方法的典型用法代码示例。如果您正苦于以下问题:Java MidiSystem.getMidiFileFormat方法的具体用法?Java MidiSystem.getMidiFileFormat怎么用?Java MidiSystem.getMidiFileFormat使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.sound.midi.MidiSystem的用法示例。


在下文中一共展示了MidiSystem.getMidiFileFormat方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: JavaSoundAudioClip

import javax.sound.midi.MidiSystem; //导入方法依赖的package包/类
public JavaSoundAudioClip(InputStream in) throws IOException {
    if (DEBUG || Printer.debug)Printer.debug("JavaSoundAudioClip.<init>");

    BufferedInputStream bis = new BufferedInputStream(in, STREAM_BUFFER_SIZE);
    bis.mark(STREAM_BUFFER_SIZE);
    boolean success = false;
    try {
        AudioInputStream as = AudioSystem.getAudioInputStream(bis);
        // load the stream data into memory
        success = loadAudioData(as);

        if (success) {
            success = false;
            if (loadedAudioByteLength < CLIP_THRESHOLD) {
                success = createClip();
            }
            if (!success) {
                success = createSourceDataLine();
            }
        }
    } catch (UnsupportedAudioFileException e) {
        // not an audio file
        try {
            MidiFileFormat mff = MidiSystem.getMidiFileFormat(bis);
            success = createSequencer(bis);
        } catch (InvalidMidiDataException e1) {
            success = false;
        }
    }
    if (!success) {
        throw new IOException("Unable to create AudioClip from input stream");
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:34,代码来源:JavaSoundAudioClip.java

示例2: fillMetadata

import javax.sound.midi.MidiSystem; //导入方法依赖的package包/类
@Override
public void fillMetadata(final Content content, final Log logger) throws Exception
{
    final URL url = content.getURL(); // Throws NullPointerException if content is null. May throw SecurityException, IllegalArgumentException, MalformedURLException.

    try
    {
        final AudioFileFormat audioFileFormat = AudioSystem.getAudioFileFormat(url); // May throw UnsupportedAudioFileException, IOException.

        content.setWidth(0);
        content.setHeight(0);

        final AudioFormat audioFormat = audioFileFormat.getFormat();

        if ((audioFileFormat.getFrameLength() == AudioSystem.NOT_SPECIFIED) || (audioFormat.getSampleRate() == (float) AudioSystem.NOT_SPECIFIED))
        {
            logger.debug("Unknown audio duration");
        }
        else
        {
            content.setDuration((long)(((float) audioFileFormat.getFrameLength() * 1000.0f) / audioFormat.getSampleRate()));
        }

        return;
    }
    catch (UnsupportedAudioFileException e)
    {
        // Try the next format.
        logger.debug(e.toString());
    }

    final MidiFileFormat midiFormat = MidiSystem.getMidiFileFormat(url); // May throw InvalidMidiDataException, IOException.

    content.setWidth(0);
    content.setHeight(0);

    final long duration = midiFormat.getMicrosecondLength();

    if (duration == MidiFileFormat.UNKNOWN_LENGTH)
    {
        logger.debug("Unknown MIDI duration");
    }
    else
    {
        content.setDuration((duration + 999L) / 1000L);
    }
}
 
开发者ID:LizzyProject,项目名称:Lizzy,代码行数:48,代码来源:SoundMetadataProvider.java

示例3: loadMidi

import javax.sound.midi.MidiSystem; //导入方法依赖的package包/类
/**
 * Parses a MIDI file and returns a Pattern.  This is an excellent example
 * of JFugue's Parser-Renderer architecture:
 *
 * <pre>
 *  MidiParser parser = new MidiParser();
 *  MusicStringRenderer renderer = new MusicStringRenderer();
 *  parser.addParserListener(renderer);
 *  parser.parse(sequence);
 * </pre>
 *
 * @param filename The name of the MIDI file
 * @return a Pattern containing the MusicString representing the MIDI music
 * @throws IOException If there is a problem opening the MIDI file
 * @throws InvalidMidiDataException If there is a problem obtaining MIDI resources
 */
public Pattern loadMidi(File file) throws IOException, InvalidMidiDataException
{
    MidiFileFormat format = MidiSystem.getMidiFileFormat(file);
    this.sequenceTiming = format.getDivisionType();
    this.resolution = format.getResolution();
    return Pattern.loadMidi(file);
}
 
开发者ID:d2fn,项目名称:passage,代码行数:24,代码来源:Player.java


注:本文中的javax.sound.midi.MidiSystem.getMidiFileFormat方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。