メディアプレーヤを使用して、一度に一つだけのオーディオファイルを再生しようとするとIF / ELSE

StackOverflow https://stackoverflow.com/questions/9331178

  •  27-10-2019
  •  | 
  •  

質問

私は他の質問に従うことを試みたが、私は、彼らは私が何を探していますされているとは思いません。

ここに私のJavaの: http://pastie.org/private/psy2nnys8i0ajz4i8qfwする

私は、私は1つが再生されているかどうかを検出しようとすると、ライン34-39にそれを止めるので、私は、MPの複数のインスタンスを開いています知っているが、それはまだ重複

してくださいお勧めします。私も1つのメディアプレーヤのインスタンスを使用しようとしたデータソースを設定し、それにR.raw.clipnameを渡す方法アウトcouldntのフィギュアが、それは仕事しませんでした。

- 私はシングルトンのを試してみました。

ありがとうございます。

役に立ちましたか?

解決

試してみて、デバッグ/あなたのコードをトレースする何とか難しいだろう。

:しかし、私はあなたにも、あなたのコードがより堅牢かつ簡単になりますあなたのMediaPlayerで生のリソースを、開くための解決策を与えることができます
MediaPlayer player=new MediaPlayer();
player.setDataSource(
    getResources().openRawResourceFd(R.raw.clip1).getFileDescriptor());

他のヒント

を使用THIS ONEます:

@Override

public boolean onTouch(View v, MotionEvent event) {
     switch (event.getAction()) {
     case MotionEvent.ACTION_UP://int end
         pv.stop();
         pv.reset();
         pv=MediaPlayer.create(MainActivity.this,R.raw.slot);
         Toast.makeText(this,"stop",Toast.LENGTH_SHORT).show();
         break;
     case MotionEvent.ACTION_DOWN://in start
         pv.start();
         Toast.makeText(this,"play",Toast.LENGTH_SHORT).show();
         break;
     default:
         break;
     }
     return false;
 }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top