调用 MediaExtractor.setDataSource() 时抛出异常

Exception thrown when calling MediaExtractor.setDataSource()

我将我的原始 H264 流放在一个文件中,并将其放在内部存储器中。当我使用 File class 访问文件时它工作正常但是当我使用以下代码时它给出异常

W/System.err: java.io.IOException: Failed to instantiate extractor.

String filePath = Environment.getExternalStorageDirectory() + "/Videos/Video_30.h264";
    try
    {
      extractor = new MediaExtractor();  
      extractor.setDataSource(FilePath);
    }catch(IOException e)
    {
      e.printStackTrace();
    }

我也使用了 Filedescriptor 而不是 filePath,但它也不起作用。我该如何解决这个问题?谢谢

编辑: 清单文件中添加了文件权限,因此不存在权限问题。

我的 "Video_30.h264" 是不在任何容器内的原始 h264 流。而 MediaExtractor.setDataSource(source) 期望流在受支持的容器中,如 mp4 等。我将原始流放在 mp4 容器中,它工作正常。希望这会有所帮助。