• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JAVAアプレットのサウンド機能について)

JAVAアプレットのサウンド機能について

このQ&Aのポイント
  • JAVAアプレットの機能であるAudioClipインターフェースを使用することで、音楽の再生や停止ができます。
  • しかし、4MB以上の音声ファイル(wavファイル)を何度か再生・停止すると、プログラムが暴走し、変な音が鳴り続けることがあります。
  • この問題はJAVAそのものの問題か、パソコンのCPUに関係がある可能性があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • PecoPlus
  • ベストアンサー率76% (144/188)
回答No.1

 こんにちは。  5MBのwavファイルで実験してみましたが、再現できませんねぇ。  アプレットビューアーでもブラウザでも、問題なく動きました。  実験したサンプルを投稿しますので、実験してみてください。  それで、問題が直らないようなら、プログラム上の問題ではなく、環境の問題と言うことになります。  また、音源ファイルを他のものと変えてみた場合はどうなりますか?  やはり、4MB以上のものなら、同じ症状になりますか?  waveファイルは、↓の5.2MBのバイオリンの音源を使わせてもらいました。 http://www.ne.jp/asahi/music/myuu/wave/wave.htm (コンパイルするときは全角スペースを半角スペースに変換してからにしてください) public class MainApplet extends Applet {   Button start;   Button stop;   AudioClip audioClip;   public void init() {     audioClip = getAudioClip(getDocumentBase(), "strings.wav");     start = new Button("start");     start.addActionListener(new StartClicked());     add(start);     stop = new Button("stop");     stop.addActionListener(new StopClicked());     add(stop);   }   private class StartClicked implements ActionListener {     public void actionPerformed(ActionEvent e) {       audioClip.play();     }   }   private class StopClicked implements ActionListener {     public void actionPerformed(ActionEvent e) {       audioClip.stop();     }   } }

udonking
質問者

お礼

先ほどの補足のプログラムのエラーメッセージのこと忘れてください。僕が勝手に手を加えてエラーを出していました。今はあなた様のプログラムはきちんと実行できましたが、やはり鳴らしたり、止めたりを繰り返すと暴走しました。どうもファイルやプログラムの問題ではないようですね。それが分かったのでありがとうございました。

udonking
質問者

補足

ご回答ありがとうございます。 まずリンク先の5MBほどのバイオリンのファイルを僕のプログラムで使用させていただきましたが、 それでも暴走しました。 それからあなた様の提供してくださったプログラムをコンパイルしたのですが、このエラーだけは消すことができませんでした。まだ未熟者で趣味の範囲でしかJAVAには入っていないのでよく分かりません。そのエラーとは、 MainApplet.java:7: MainApplet は abstract として宣言する必要があります。actionPerformed(java.awt.ev nt.ActionEvent) を MainApplet で定義しません。 class MainApplet extends Applet implements ActionListener{ ^ エラー 1 個 プログラムの先頭にはパッケージの使用を定義しているので、本来の7行目ではありません。

関連するQ&A