あなたは文字通りソース..setMediaLocation(location of file);
にありませんか?言い換えると思いました。
その場合、答えはメソッドに引数を指定することsetMediaLocation()
です。ドキュメント。String
またはMediaLocator
インスタンスを指定します。
String
ファイルまたはURLベースのソースを表すためにインスタンスを使用することは避けています。メソッドにまたはが必要な場合はFile
、URL
またはを指定しFile
ますURL
。それはとして最良のオプションを残しますMediaLocator(URL)
。これがどうなるかです。まず、必要なURL
ものがあります。URLのソースが何であるかに応じて、取得する方法はいくつかあります。たとえば、インターネット、ローカルファイルシステム上のファイル、またはアプリとともに配信されるJar内の埋め込みリソース。最後の2つは次のようになります。
ファイルベースのURL
File mediaFile = new File("user.mp3");
URL mediaURL = mediaFile.toURI().toURL();
// ...
埋め込みリソースURL
URL mediaURL = this.getClass().getResource("/path/to/our.mp3");
// ...
インスタンスができたらmediaURL
、ロケーターを作成してメソッドで使用できます。
URLを使用する
MediaLocator mediaLocator = new MediaLocator(mediaURL);
MediaPlayer mp = new MediaPlayer();
mp.setMediaLocation(mediaLocator);
// ...
一般的なヒント
- JMFは放棄されたAPIです。
- オーディオだけに興味があるようですので、Javaサウンドの使用を検討してください。オーディオサンプルを問題なく再生でき、コアJavaの一部であり、JMFのごく一部で、MP3形式を再生できます(詳細については、リンクを参照してください)。
- 使用されている放棄されたAPI、Eclipse、およびデバッグに慣れていないようです。おそらく、今のところ、もっと単純なことに集中する必要があります。メディア処理は高度なトピックです。