• ベストアンサー

getAudioClipメソッドについて

JavaアプレットのAudioClipインターフェースのメソッドで、getAudioClip(URL,音声ファイル名)がありますよね?この引数のURLの書き方が分かりません。 例えば音声ファイルが、C:\apフォルダにあるとします。こういう場合はURLをどう記述すればよいでしょうか?

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

  • ベストアンサー
  • vaguechat
  • ベストアンサー率85% (47/55)
回答No.3

慌てすぎた… もちろん、 new URL("file:/C:/ap/") のように指定することもできる。 ただし、セキュリティチェックにより任意のディレクトリを指定できず、 デフォルトではアプレットの置かれたディレクトリまたはサブディレクトリ下にないと読まれないと思う。

udonking
質問者

お礼

大変遅くなりました。ありがとうございました。 まず、音声ファイルをおきたいディレクトリで、別のアプレットプログラムを作って、getDocumentBase()を出力して、URLを知りました。 実はその時、文字列をして出力できるから、URLはString型のデータだと思い込んでしまいました。 それでgetAudioClipメソッドで引数を直接、文字列でURLを書いて上手くいかない!!なぜ?と少し悩みました。 が、これもおっしゃるとおり、URLコンストラクタで上手くできました。URL表現はオブジェクトを使わないといけないんですね。文字列で出力できたからといって、String型のデータだとは限らないんですね。勉強になりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • vaguechat
  • ベストアンサー率85% (47/55)
回答No.2

一つ注意を忘れてた。アプレットでは、 new java.io.File("C:\\ap").toURI().toURL() はセキュリティチェックに引っかかってエラーになるはずなのでアプレット内に直接コーディングしてはいけない。許可していれば別だが。 ローカルなディレクトリを直接指定するのでなく、 Applet#getCodeBase()やApplet#getDocumentBase()などでアプレットの位置からURLを得た方がいいと思う。

全文を見る
すると、全ての回答が全文表示されます。
  • vaguechat
  • ベストアンサー率85% (47/55)
回答No.1

ファイルやディレクトリパスのURL表現を得るにはFile#toURI()でURI表現を得てからURI#toURL()とする。 FileからURLを直接得るFile#toURL()というメソッドもあるが非推奨メソッドとなっている。 java.net.MalformedURLException例外を投げるのでその対応も。 java.net.URL url = new java.io.File("C:\\ap").toURI().toURL(); System.out.println(url); うちのWindowsの環境では、、 C:\ap というパスは、 file:/C:/ap となった。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • javaのメソッド呼び出し

    javaで質問があります。メソッドを呼び出すとき、 クラス.メソッド(引数)だと思いますが、 「.」が2つあるものがあります。 どういったものでしょうか? あるプログラムに Code.PerComFlag.ReCom.equals(atmlogDTO.getatmComFlg()) のがありました。 また、javaの本に System.out.println(・・・) という記述もあります。 よろしくお願いします。

    • ベストアンサー
    • Java
  • 継承したメソッドのドキュメンテーションコメント

    C#の開発を始めて日が浅いため、現場におけるお作法がわかりません。 現場におけるクラス・インターフェースを継承したメソッドのドキュメンテーションコメントの付け方に関する一般論についてお教えいただきたいです。 ※基底クラス、及びインターフェースの抽象メソッドにはドキュメンテーションコメントの記述がある物とします。 ※普段はJavaを使っている為、そこから引用している書いている部分があります。ご容赦下さい。 ・抽象クラスにおけるインターフェースから継承した抽象メソッド(実装しない場合) Javaとは違い、抽象クラスであってもインターフェースが持つの抽象メソッドを無視する事はできず、 public abstract修飾子を付けて抽象メソッドを定義してやる必要があるようなのですが、 この場合、ドキュメンテーションコメントは省略すべきでしょうか? それとも、何かしら記述するべきなのでしょうか?(Javaで言うところの@inheritDoc等・・・そのような物があるかはわかりませんが) ・新たに実装を行う場合(抽象メソッドの実装等) 省略すべきでしょうか? ・既存の実装を拡張し、変更の影響は微小かつメソッド内のみで完結し、概要やその他のメソッドの責任において表記すべき内容に変化が無い場合 省略すべきでしょうか? ・既存の実装を拡張し、想定される例外の追加等、メソッド外にも影響を及ぼす大きな変更が入った場合 新たに完全なドキュメンテーションコメントを作成するべきでしょうか? それとも差分以外は新たに作成すべきではないのでしょうか? 一般論と言っても規模や進め方によって様々だとは思いますが、 通念的に「心がけていくべき事」等あれば、是非お教え下さい。 最後に、この質問の趣旨からは外れるのですが、一つ追加で別の質問をさせてください。 私は何故抽象クラスがインターフェースの抽象メソッドを無視できないかがわかっておりません。 (インターフェース-インターフェース、抽象クラス-抽象クラスは無視できるのに) 敢えて明示的に定義を強要させている以上、何か理由あっての事だと思いますが、 それがわからず悶々村々としながら作業しております。 その理由をお教えいただけませんでしょうか。 宜しくお願い致します。

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

    JAVAアプレットの機能にAudioClipインターフェースがありますよね? 例えば AudioClip ac; public void init() { ac=getAudioClip(getDocumentBase(),"ga.wav"); ac.play(); ac.stop(); ac.loop(); ac.stop(); } という感じで音楽を鳴らしたり、止めたりできますよね? 必要に応じてそのようにしたいのですが、 音声ファイルであるwavファイルが4MB以上のものだと、何度か鳴らしたり止めたりしている間に、必ず5回以内の間には、プログラムが暴走して、音楽が止まるわけでもなく、きちんと鳴るわけでもなく変な音が鳴り続けます。アプレットビューアで起動してますが、そのビューアも強制終了しなくてはいけません。 まさか、JAVAそのものの問題ではなく、僕のPCのCPUの可能性もあると思われますか?

    • ベストアンサー
    • Java
  • Javaの初期化メソッドについて

    こんにちは。Javaの初心者です。 Javaの初期化メソッド(initメソッド)についてなのですが、処理を記述しても実行してくれません。 恐らく使い方が間違ってるかと思われるのですが、ネットで調べてもあまり検索結果がでてこなかったので、質問させてもらいました。 以下サンプルコード import java.lang.*; public class Test { static int a; public void init() { a = 10; } public static void main(String[] args) { System.out.println(a); } } 実行してみても、「0」と表示されるだけで、「10」と表示してくれませんでした。 どこかコードが間違えてるのでしょうか? それとも初期化メソッドはアプレット用であってアプレットで使わないと意味がないというものなのでしょうか? 因みに関係ないかと思われますが、グローバル変数は自動的に初期化される(0が代入される)ということは知っています。 ご教授の方、よろしくお願い致します。

    • ベストアンサー
    • Java
  • メソッドを探したりする場合

    C++で必要なメソッド名を検索する場合、どのようにすればいいのでしょうか? Javaの場合ですと、this.と打てば、自動的に該当のメソッド一覧が出たりします。 C++ではthis.と打ってもメソッド一覧が出てきません。 何かいい方法はありませんか? Visual C++ 2008 Express Edition Windows XP Professional SP3

  • メソッドの引数に指定されているインタフェースについて

    最近サーブレットをいじっているので例としてサーブレットを扱いますが、一般的な話題として扱っていただければと存じます。 非常に質問を文章化しにくいのですが・・ たとえば、クラスHttpServletには以下のようなメソッドがあります。 doGet(HttpServletRequest req, HttpServletResponse resp) このメソッドの引数に指定されているHttpServletRequest/Responseはいずれもインタフェースなわけですが、メソッドの引数にインタフェースを指定するというのは、具体的にどういうことなのでしょうか? これがたとえばintだったりStringだったりした場合は簡単にイメージできるのですが、インタフェースだとさっぱりわかりません。 質問がわかりにくいかもしれませんが、よろしくお願いいたします。

    • ベストアンサー
    • Java
  • java.applet.AudioClipインターフェースについて

    初歩的な質問なんですがjava.applet.AudioClipインターフェースにおいて定義されているloop(),stop(),play()のメソッド達はどのように実装されるものなのでしょうか。 AudioClip ac; ac = getAudioClip(getDocumentBase(), "音楽データのある所"); ac.play(); としただけで音楽が流れると解説されているのですが、抽象メソッドであるplay()をどこでどのように実装しているのかわかりません。 よろしくお願いします。

  • 【Objective-C】文法 メソッドの定義について

    Objective-Cの勉強を始めたばかりの者です。 メソッドの定義について、混乱してきたので教えてください。 例えば、二つの数値を引数に与えるメソッドsetDataを作るとします。 このメソッドを以下のような方法で呼び出します。 id data; data = [[Data alloc] init]; [data setData:3:4]; この場合のメソッドの定義は以下の様になりますよね。 - (void)setData:(int)argx:(int)argy; 次にラベルを使った引数についてですが、 - (void)setData:(int)argx y(int)argy; と定義したら、呼び出しは、 [data setData:3 y:4]; となりますよね。 この記述に違和感を感じるんです。 ここまでは前ふりでして、以下が質問になるのですが、 メソッド名とは別に二つの引数用のラベルを設ける事ってできないのですか? つまりは、例えば、 [data setData x:3 y:4]; のような感じの記述です。 それとも、「ラベルを付けられるのは二つ目の引数から」ってのが仕様なんですか? 以上、ご指導のほど、宜しくお願いいたします。

  • 外部javaファイルからメソッドを呼び出し

    1.javaや2.javaなどのファイルがいくつもあって 1.javaで2.javaのメソッドを呼び出すためにはどうしたら良いでしょうか? 例えば getName()などのメソッドを呼び出したい場合どうすればいいでしょうか?

  • 引数の概念について質問

    引数とは、以下のURLに次のように定義されていました。 「メソッドを呼び出す際に渡された値を受け取る変数。」 http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000160.html 質問:引数とは、「あるメソッドに入力する(渡す)値」ですよね?それなのに、「メソッドを呼び出す際に渡された値を受け取る変数。」とかいてありますが、これはどういうことですか? java初心者の私でもわかりやすいように解説してくだされば幸いです。 質問2:上記URLに以下のようなことも書かれていました。 「呼び出す際に「メソッド名( 引数に渡す値 );」という書式で「引数の変数」に「引数に渡す値」をコピーすることができる。 このコピーは、変数の代入と全く同じである。」 これもよく意味がわかりません。 とくに、「引数の変数」という記述がよくわかりません。また、なぜ変数の代入と同じなのですか? うーん、、よくわからない。

    • ベストアンサー
    • Java
このQ&Aのポイント
  • 印刷時に字がかすれたり、横線が入る問題に悩んでいませんか?インクが不足しているわけではないのに、なぜこういった問題が発生するのでしょうか?本記事では、印刷品質に問題が生じる原因と対策について解説します。
  • あなたのプリンターで、インクが不足していないのに印刷結果が悪くなっていませんか?かすれや横線が入るというトラブルは、多くの人が経験するものです。しかし、インク不足以外にも原因がある場合があります。この記事では、インクが不足していないのに印刷結果が悪くなる原因と、その対策について詳しく解説します。
  • インクが不足していないのに印刷結果が悪くなることってありますよね。特にエプソン製品では、このようなトラブルが起きやすい傾向にあります。しかし、心配する必要はありません。本記事では、インク不足以外にも印刷品質に影響を及ぼす要素と、それに対する対策についてご紹介します。
回答を見る