あなたは文字通りソース..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、およびデバッグに慣れていないようです。おそらく、今のところ、もっと単純なことに集中する必要があります。メディア処理は高度なトピックです。