Java 为什么MediaExtractor在Android O上为getTrackCount()返回0?

Java 为什么MediaExtractor在Android O上为getTrackCount()返回0?,java,android,android-8.0-oreo,mediaextractor,Java,Android,Android 8.0 Oreo,Mediaextractor,我正在尝试用Android Oreo创建一个自定义视频播放器。从L迁移后,提取器在获取trackCount时返回0。当文件插入到资源中时,它正在工作。打开提取器时没有错误,只是日志显示未找到任何轨迹 我添加了从代码和xml中写入和读取存储的所有权限 MediaExtractor extractor = new MediaExtractor(); try { extractor.setDataSource( "/sdcard/bbb_sunflower_1080p_30fps_normal

我正在尝试用Android Oreo创建一个自定义视频播放器。从L迁移后,提取器在获取trackCount时返回0。当文件插入到资源中时,它正在工作。打开提取器时没有错误,只是日志显示未找到任何轨迹

我添加了从代码和xml中写入和读取存储的所有权限

MediaExtractor extractor = new MediaExtractor();
    try {
extractor.setDataSource(
"/sdcard/bbb_sunflower_1080p_30fps_normal.mp4" );
    } catch (IOException e) {
        e.printStackTrace();
    }
    int numTracks = extractor.getTrackCount();