私は音楽を作成しているapp.theアプリはbtns.theアプリは問題なく実行されている16曲を持っているが、私は..ダウンアプリ軍のApp力がダウンsuddently
super.onCreate(icicle);
setContentView(R.layout.main);
int[] ids = {R.id.btn,R.id.btn2, R.id.btn3, R.id.btn4, R.id.btn5, R.id.btn6, R.id.btn7, R.id.btn8, R.id.btn9, R.id.btn10,
R.id.btn11, R.id.btn12, R.id.btn13, R.id.btn14, R.id.btn15, R.id.btn16 };
for (int i : ids) {
b = (Button) findViewById(i);
b.setOnClickListener(this);
}}
//outside of onCreate()
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.btn:
if (mp != null && mp.isPlaying()) mp.stop();
mp = MediaPlayer.create(zoo.this, R.raw.gata);
mp.start();
break;
これを何回もbtnsを押すとアプリケーションが強制的にダウンすると、logCatはmp.start()でNullPointerExceptionを見つけています。アプリを強制的に押し下げるボタンを押すと、ヘルプが表示されます。
EDIT以下のコメントからで:
case R.id.btn:
if (mp != null && mp.isPlaying()) mp.stop();
mp.reset();
try {
mp.setDataSource("zoo.this,R.raw.gata");
} catch (IllegalArgumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalStateException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
mp.start();
break;
ボタンを押すたびに新しい「MediaPlayer」を作成する必要がありますか?そのクラスは理由のために 'reset()'と 'setDataSource()'メソッドを持っています。 –
申し訳ありませんが、私はアンドロイド開発で新しいです!どうすれば修正できますか? –
[MediaPlayer](http://developer.android.com/reference/android/media/MediaPlayer.html)クラスのドキュメントをご覧ください。 –