0

JMF はMediaPlayer、フル機能のプレーヤーとして使用できるクラスを提供します。ただし、オーディオ ファイルを再生する方法が見つかりません。使用したコードの一部。

import javax.media.bean.playerbean.MediaPlayer;

    // ....
    MediaPlayer mp = new MediaPlayer();
    mp.setMediaLocation(location of file);  // <- syntax error!
    mp.start();

しかし、うまくいきません。Eclipse で次のエラーが表示されます。

Syntax error on token "setMediaLocation", Identifier expected after this token

..オンsetMediaLocation()メソッド。

MediaPlayerクラスを使用してオーディオファイルを再生する方法を教えてもらえますか? 私のコーディングで何が間違っていますか?

4

1 に答える 1

2

あなたは文字通りソース..setMediaLocation(location of file);にありませんか?言い換えると思いました。

その場合、答えはメソッドに引数を指定することsetMediaLocation()です。ドキュメント。StringまたはMediaLocatorインスタンスを指定します。

StringファイルまたはURLベースのソースを表すためにインスタンスを使用することは避けています。メソッドにまたはが必要な場合はFileURLまたはを指定し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); 
// ...

一般的なヒント

  1. JMFは放棄されたAPIです。
  2. オーディオだけに興味があるようですので、Javaサウンドの使用を検討してください。オーディオサンプルを問題なく再生でき、コアJavaの一部であり、JMFのごく一部で、MP3形式を再生できます(詳細については、リンクを参照してください)。
  3. 使用されている放棄されたAPI、Eclipse、およびデバッグに慣れていないようです。おそらく、今のところ、もっと単純なことに集中する必要があります。メディア処理は高度なトピックです。
于 2012-06-21T08:33:51.163 に答える