Java Xugler中存在访问冲突-无法写入小型转储
下面的代码片段是从视频文件中提取音频。工作环境是Windows7上的EclipseLunaJava Xugler中存在访问冲突-无法写入小型转储,java,eclipse,xuggler,minidump,Java,Eclipse,Xuggler,Minidump,下面的代码片段是从视频文件中提取音频。工作环境是Windows7上的EclipseLuna import com.xuggle.mediatool.*; import com.xuggle.xuggler.ICodec; public class VideoToAudio{ public void convertVideoToAudio(){ IMediaReader reader = ToolFactory.makeReader("D://vid.mp4");
import com.xuggle.mediatool.*;
import com.xuggle.xuggler.ICodec;
public class VideoToAudio{
public void convertVideoToAudio(){
IMediaReader reader = ToolFactory.makeReader("D://vid.mp4");
IMediaWriter writer = ToolFactory.makeWriter("D://a.mp3",reader);
int sampleRate = 44100;
int channels = 1;
writer.addAudioStream(0, 0, ICodec.ID.CODEC_ID_MP3, channels, sampleRate);
while (reader.readPacket() == null);
}
public static void main(String [] args){
VideoToAudio vta = new VideoToAudio();
vta.convertVideoToAudio();
}
}
代码生成的错误如下所示:
A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006ee76520, pid=13968, tid=7220
#
# JRE version: Java(TM) SE Runtime Environment (8.0_20-b26) (build 1.8.0_20-b26)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.20-b23 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C [xuggle4458410956560120581.dll+0x736520]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
为了修复错误,我一个接一个地执行了一系列操作:
将Windows配置为在查看后创建小型转储文件
已从工作区中删除元数据文件夹,并将项目再次导入eclipse
但上述错误仍然存在。有人能修复错误吗?您提供的链接是关于为BSOD配置迷你转储的,BSOD是死亡蓝屏的缩写。这是Windows内核的崩溃,在用户模式下运行的Java应用程序可能无法生成该崩溃 要收集用户模式转储,可以配置Windows错误报告。另请参见一些使用它的常见陷阱 但即使您这样做,Java也会执行自己的异常处理。要禁用该异常处理并让Windows WER处理错误,需要使用命令行开关启动Java
-XX:+UseOSErrorReporting
-XX:+CreateMinidumpOnCrash
但是,有一种比LocalDumps和UseoErrorReporting更简单的方法。Java还知道一个命令行开关
-XX:+UseOSErrorReporting
-XX:+CreateMinidumpOnCrash
这个IMHO更容易使用
错误代码0xC0000005是访问冲突,这是NullReferenceException的本机/JNI术语
有人能纠正这个错误吗
只有Xugler的开发者才能做到这一点