メディアプレーヤを使用して、一度に一つだけのオーディオファイルを再生しようとするとIF / ELSE
-
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;
}
所属していません StackOverflow