Java 无法解析方法getAssets();在课堂上播放mp3时

Java 无法解析方法getAssets();在课堂上播放mp3时,java,android,class,Java,Android,Class,我试图从assets文件夹访问mp3文件,然后设置数据源,准备它们,然后在单击imagebutton时播放它们。但是,我一直在getAssets()上遇到错误。我知道我需要一些背景,但我不知道如何在我的情况下做到这一点。我试过的每一种方法都会给我一些错误 公共类声音文件{ public final MediaPlayer mp; ImageButton position; public SoundFile(Activity activity, int soundfile, int imgB

我试图从assets文件夹访问mp3文件,然后设置数据源,准备它们,然后在单击imagebutton时播放它们。但是,我一直在getAssets()上遇到错误。我知道我需要一些背景,但我不知道如何在我的情况下做到这一点。我试过的每一种方法都会给我一些错误

公共类声音文件{

public final MediaPlayer mp;
ImageButton position;



public SoundFile(Activity activity, int soundfile, int imgButtonId) {
    this.mp = new MediaPlayer();
    this.position = (ImageButton)activity.findViewById(imgButtonId);



    this.position.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

        try{

            mp.reset();
            AssetFileDescriptor afd;
            afd = getAssets().openFd(mp);
            mp.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
            mp.prepare();
            mp.start();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }});}}
试试这个 替换

试试这个 替换

 afd = getAssets().openFd(mp);
afd =activity.getAssets().openFd(mp);