Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Xugler中存在访问冲突-无法写入小型转储_Java_Eclipse_Xuggler_Minidump - Fatal编程技术网

Java Xugler中存在访问冲突-无法写入小型转储

Java 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");

下面的代码片段是从视频文件中提取音频。工作环境是Windows7上的EclipseLuna

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的开发者才能做到这一点