调用 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 容器中,它工作正常。希望这会有所帮助。
我将我的原始 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 容器中,它工作正常。希望这会有所帮助。