本帖最后由 junewalker 于 2011-05-26 18:23:40 编辑

解决方案 »

  1.   

    this.getClass().getResourceAsStream()用这个试试
      

  2.   


    您说的那个方法得到的是一个InputStream,而MediaLocator不能用输入流构造。您知道其他能使用InputStream播放音乐的方法吗?
      

  3.   

    URL url=this.getClass().getResource("包内路径");
      

  4.   

    我有个临时解决的方式 就是你先通过获得输入流 将该流写到一个你能访问的地方 然后再通过这个构造器创建对象临时的 我期待有更好的解决方式(我没用过JMF 那个什么MediaLocator真的没有接受输入流的构造函数?)
      

  5.   


    我的语句是URL url = MusicPlayer.class.getResource("/music/background_music.mp3");得到URL是file:/H:/CodingWorkSpace/EquationsForPupil/src/music/background_music.mp3然后将工程清理并生成后,运行jar,得到的URL是
    jar:file:/H:/CodingWorkSpace/EquationsForPupil/dist/EquationsForPupil.jar!/music/background_music.mp3
    无法播放了。请问是不是后者这种URL是无法识别和定位资源文件的呢?
      

  6.   


    恩,我想到过这个方法,不过最后还是将音乐文件和jar放在同一目录下,暂且这样,实现简单些。那个MediaLocator真没有接受输入流的构造函数……