我正在开发一个安卓应用程序。我的课程扩展了 fragmentactivity。我正在使用 soundpool,使用 asyc 将声音加载到 soundpool。
我在类的 oncreate 中调用异步,并且在 onpagechagelistner 中播放声音。当我运行应用程序时,我得到空指针异常。
请在下面查看我的 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);
}
}
请帮帮我。从这两天开始工作。
谢谢!