0

電話番号を自動ダイヤルする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を呼び出してサウンドを再生するにはどうすればよいですか?

4

2 に答える 2

2

音量を調整しましたが、正常に動作します。

于 2009-11-19T16:07:52.813 に答える
0

なぜこの効果が見られるのか正確にはわかりませんが、プログラムからWindowsMediaPlayerを起動する方法はわかります。

WindowsXPおよびWindowsMediaPlayer11を想定しています。

String myCommand = "\"C:\\Program Files\\Windows Media Player\\wmplayer\\\" /open \"" + File_Name + "\""
Runtime.getRuntime().exec(myCommand);

これにより、Windows Media Playerが起動し、File_Nameが指すファイルが再生されます(フルパスがおそらく最も安全です)。Media Playerがすでに開いている場合でも、引き続き機能します:)現在再生中のファイルはすべて中断されます。

これがお役に立てば幸いです。

于 2009-11-10T15:05:14.777 に答える