Java小程序播放声音文件的效果与Windows Media Player不同?

Java小程序播放声音文件的效果与Windows Media Player不同?,java,applet,audio,wmp,playback,Java,Applet,Audio,Wmp,Playback,我有一个Java程序可以自动拨打电话号码,它可以产生声音来模仿手机键盘,正常通话效果很好,但是当涉及到电话卡时,我遇到了一个问题,它要求我输入卡号,我的程序产生的声音对方不接受,它总是说卡号不正确,所以我做了一些研究,找到了一个可以为我生成整个卡号声音序列的网站,我保存了它,但当我使用以下Java方法播放*.wav声音文件时,它仍然不被接受,但是如果我用Windows Media Player播放同一个文件,另一端会接受它作为一个有效的卡号声音,为什么?这是否意味着Java小程序播放声音文件的效

我有一个Java程序可以自动拨打电话号码,它可以产生声音来模仿手机键盘,正常通话效果很好,但是当涉及到电话卡时,我遇到了一个问题,它要求我输入卡号,我的程序产生的声音对方不接受,它总是说卡号不正确,所以我做了一些研究,找到了一个可以为我生成整个卡号声音序列的网站,我保存了它,但当我使用以下Java方法播放*.wav声音文件时,它仍然不被接受,但是如果我用Windows Media Player播放同一个文件,另一端会接受它作为一个有效的卡号声音,为什么?这是否意味着Java小程序播放声音文件的效果与Windows Media Player不同

  void playAudioFile(String File_Name)
  {
    try { Applet.newAudioClip(new URL("file:/"+File_Name)).play(); }
    catch (Exception e) { e.printStackTrace(); }
  }

如果是这样,我如何在Java程序中调用Windows Media Player播放声音?

我无法告诉您为什么会看到这种效果,但我可以告诉您如何从程序启动Windows Media Player

假设Windows XP和Windows Media Player 11:

String myCommand = "\"C:\\Program Files\\Windows Media Player\\wmplayer\\\" /open \"" + File_Name + "\""
Runtime.getRuntime().exec(myCommand);
这将启动Windows Media Player并使其播放文件名指向的文件(完整路径可能是最安全的)。如果媒体播放器已经打开,那么它仍然可以工作:)任何当前播放的文件都将被中断


我希望这会有所帮助。

我调整了音量,现在它工作正常。

不应该使用桌面对象启动said.wav文件而不是依赖操作系统特定的语义。当然,如果可能的话。Frank询问如何拨打Windows Media Player来播放他的声音文件。对我来说,这听起来很特别。我承认这不是解决这个问题的最佳方法,但它仍然是一个解决方案。我在Win Vista下尝试了它,没有成功,没有为Windows Media Player启动窗口,也没有播放声音,我还尝试了以下方法:“\”C:\\Program Files\\Windows Media Player\\wmplayer.exe\\”/open\\“+File\\ U Name+”\”Vista可能与XP不同吗?是的,Vista可能与XP不同。尝试以下操作:找到Windows Media Player的正确路径,并将myCommand更改为指向正确的文件。如果右键单击Media Player的快捷方式,您应该能够在“属性”窗口中找到路径。是的,如果我执行“\”C:\\Program Files\\Windows Media Player\\wmplayer.exe”,它将打开WMP而不播放任何文件,但如果我指定文件路径,它将根本不会打开或播放任何内容。