0

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

4

2 回答 2

2

我调了音量,现在可以了。

于 2009-11-19T16:07:52.813 回答
0

我无法告诉您究竟为什么会看到这种效果,但我可以告诉您如何从您的程序中启动 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 并使其播放 File_Name 指向的文件(完整路径可能是最安全的)。如果媒体播放器已经打开,那么它仍然可以工作:) 任何当前正在播放的文件都将被中断。

我希望这有帮助。

于 2009-11-10T15:05:14.777 回答