无法解析方法getAssets();在尝试播放mp3的课堂上

时间:2016-06-06 13:54:08

标签: java android class

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

公共类SoundFile {

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();
        }

    }});}}

1 个答案:

答案 0 :(得分:3)

试试这个 替换

 afd = getAssets().openFd(mp);

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