如何从视图类中定义的用户线程播放音频。这是我想要播放音频的线程部分。
线:
if(a.n1==a.rightx&&a.n2>=a.topy&&a.n2<=a.bottomy||a.n2==a.bottomy&&a.n1>=a.leftx&&a.n1<=a.rightx)
{
audio.play(this,a.i);
a.i+=1;
int low=2;
int high=8;
int high1=10;
float xlim=a.parentWidth*0.25f;
int xright=(int)(xlim);
a.n=a.r.nextInt(high-low);
int xpos=a.r.nextInt(high1-low);
a.n1=(xpos*10)+xright;
a.n2=(a.n*60)+90;
a.f1=(float)a.n1;
a.f2=(float)a.n2;
//Log.d("test","n1"+a.n1);
//Log.d("test","n2"+a.n2);
}
这是我的音频课:
public class Audio{
public MediaPlayer mp=null;
public void play(Context context,int i)
{
stop(context);
//int resId=R.raw.button_1;
//int x=i;
mp = MediaPlayer.create(context,i);
mp.setLooping(true);
mp.start();
}
public void stop(Context context)
{
if(mp!=null)
mp.stop();
mp.release();
mp=null;
}
我在这里面临的问题是,当我从线程调用 play 方法并将其作为参数传递时,它向我显示了一个错误说明-Audio 类型中的方法 play(Context, int) 不适用于参数 (DrawThread , 整数)