java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed

    1. AssetFileDescriptor afd = getResources().getAssets().openFd("input.avi");
    2. mediaPlayer.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
    3. mediaPlayer.prepare();

    解决办法是在项目的build.gradle 下面加上如下:

    1. android {
    2. aaptOptions {
    3. noCompress "avi"
    4. }
    5. }

    你可以以上方式禁用appt 压缩某种后缀名的文件,即可解决问题。