私はアンドロイドアプリを開発しています。私のクラスはfragmentactivityを拡張します。私はsoundpoolを使用しており、asycを使用してサウンドをsoundpoolにロードしています。
クラスの oncreate で async を呼び出しており、onpagechagelistner 内でサウンドを再生しています。アプリを実行すると、null ポインター例外が発生します。
以下の onpagechangelistner と Async をご覧ください。
_mViewPager.setOnPageChangeListener(new OnPageChangeListener()
{
public void onPageSelected(int page)
{
if(page==0)
{
soundPool.play(1, streamVolume, streamVolume, 1, 0, 1f);
}
else if(page==1)
{
soundPool.play(2, streamVolume, streamVolume, 1, 0, 1f);
}
else if(page==2)
{
soundPool.play(3, streamVolume, streamVolume, 1, 0, 1f);
}
}
protected class MainSoundsforalphabetsleftout extends AsyncTask<Context, Integer, Boolean>
{
boolean result = false;
@Override
protected Boolean doInBackground(Context... params)
{
Log.e("inside","doin bg");
soundPoolMapForAlphabetsleftout.put(1, soundPoolForAlphabetsleftout.load(AlphaPager.this, R.raw.tellme, 1));
soundPoolMapForAlphabetsleftout.put(2, soundPoolForAlphabetsleftout.load(AlphaPager.this, R.raw.okay, 1));
soundPoolForAlphabetsleftout.setOnLoadCompleteListener(new OnLoadCompleteListener() {
public void onLoadComplete(SoundPool soundPool, int sampleId, int status)
{
globe.setSoundPoolForalphabetsleftout(soundPoolForAlphabetsleftout);
}
});
return true;
}
@Override
protected void onPostExecute( Boolean result )
{
super.onPostExecute(result);
Log.e("inside","postexecute of left out alpha");
soundPoolleftout = globe.getSoundPoolForalphabetsleftout();
}
@Override
protected void onPreExecute()
{
super.onPreExecute();
Log.e("inside","preexecute of left out alpha");
}
@Override
protected void onProgressUpdate(Integer... values)
{
super.onProgressUpdate(values);
}
}
私を助けてください。2日から取り組んでいます。
ありがとう!