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

时间:2016-01-14 07:56:02

标签: android mediaextractor

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

  

W / System.err:java.io.IOException:无法实例化提取器。

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

我还使用了Filedescriptor而不是filePath,但它也没有用。我怎么解决这个问题?感谢

编辑: 文件权限已添加到清单文件中,因此没有权限问题。

1 个答案:

答案 0 :(得分:1)

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