こんにちは は、次のコードでそれをしようとしていますが、それは私を助けて私のためメディアの再生方法は? application.Iでメディアファイルを再生する方法
player= new MediaPlayer().create(context, R.raw.lonely);
player.start();
player.release();
が動作していない理由を知りません。 ありがとうございます。
こんにちは は、次のコードでそれをしようとしていますが、それは私を助けて私のためメディアの再生方法は? application.Iでメディアファイルを再生する方法
player= new MediaPlayer().create(context, R.raw.lonely);
player.start();
player.release();
が動作していない理由を知りません。 ありがとうございます。
私はMediaPlayer
と遊んでいませんが、私はrelease()
コールなしで試してみます。 This exampleは使用していません。そしてdocsは、それが再生した後に呼び出されるクリーンアップの方法だと言う:
このMediaPlayerのオブジェクトに関連付けられているリソースを解放します。 MediaPlayerを使用したときにこの メソッドを呼び出すとよい練習と考えられるのは、 です。
私はあなたがコンストラクタを使いこなしていると思います。静的にMediaPlayerをインスタンス化することができます:MediaPlayer.create(Context context, int resid)
これは最も簡単な方法です。play()
に電話するだけです。また、有効なコンテキストが必要です。つまり、アクティビティやサービス内でMediaPlayerを作成している場合は、コンテキストとして「this」を渡すだけです。
また、「通常の」コンストラクタMediaPlayer()
を使用することができますが、あなたは明示的にplay()
前setDataSource()
とprepare()
にコールする必要があります。
さらに、Grzegorzが書いたように、play()
の直後にrelease()
を呼び出すことはお勧めできません。
あなたはこのサンプルをfolowすることができます:それもリリースせずに私のために働いていない
public void audioPlayer(String path, String fileName){
//set up MediaPlayer
MediaPlayer mp = new MediaPlayer();
try {
mp.setDataSource(path+"/"+fileName);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.start();
}
()。 – Androider