【问题标题】:Unable to send MIDI file name to Java to playback music无法将 MIDI 文件名发送到 Java 以播放音乐
【发布时间】:2010-10-27 06:31:34
【问题描述】:

我可以播放 MIDI 文件,其中“filename”是一个带有“asd.mid”值的字符串类型。但是,我尝试将 AIR 的 nativeprocess 命令发送到 Java,它显示“无法读取”错误。怎么会?

Java:

private void playMidi() {
    if(isPlaying.equals("0")) {
        try {
            song = MidiSystem.getSequence(new File(filename)); 
            sequencer = MidiSystem.getSequencer();
            sequencer.setSequence(song);
            sequencer.open();
            sequencer.addMetaEventListener(this);
            sequencer.start();
        } catch (InvalidMidiDataException e) {
            System.out.println("Bad midi file: "+ filename);
            System.exit(1);
        } catch (MidiUnavailableException e) {System.out.println("No sequencer available");
            System.exit(1);
        } catch (IOException e) {System.out.println("Could not read: "+ filename);
            System.exit(1);
        }
        displayMidiInfo(filename);
        } else {
        updateTempoFactor(speed);
        }
    }

【问题讨论】:

    标签: java apache-flex actionscript


    【解决方案1】:

    一个使用相对路径而另一个使用绝对路径吗?除非两个应用程序都位于同一个文件夹中,否则我想您需要文件路径而不仅仅是文件名。

    【讨论】:

    • 我想MIDI不接受绝对路径?它只支持 URL、File 和 InputStream。
    • 这将是导致 IOExcpetion 的文件构造,因为它找不到指定的文件,它需要绝对路径......我猜......因为你的异常处理有基本上抹去了任何有用的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多