Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.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内部调用VLC时,VLC正在消亡_Java_Windows_Vlc - Fatal编程技术网

当从Java内部调用VLC时,VLC正在消亡

当从Java内部调用VLC时,VLC正在消亡,java,windows,vlc,Java,Windows,Vlc,我遇到了一个问题,在这一刻,我甚至不知道如何正确地调查。欢迎提出任何关于如何获得更多信息的建议,并表示感谢 我的公司销售一款以WinXP电脑为核心的产品。该产品的任务之一是能够按需启动视频播放器——在本例中为VLC。(具体来说,VLC 0.8.6d已经过时好几年了,但是升级有问题,原因有几个。)负责启动播放器和执行许多其他任务的应用程序是用Java编写的 我的桌子旁边有一个测试台。它过去工作得很好。但由于某些原因,现在当Java应用程序尝试启动VLC时,它会给出一个“发送错误报告”窗口:“VLC

我遇到了一个问题,在这一刻,我甚至不知道如何正确地调查。欢迎提出任何关于如何获得更多信息的建议,并表示感谢

我的公司销售一款以WinXP电脑为核心的产品。该产品的任务之一是能够按需启动视频播放器——在本例中为VLC。(具体来说,VLC 0.8.6d已经过时好几年了,但是升级有问题,原因有几个。)负责启动播放器和执行许多其他任务的应用程序是用Java编写的

我的桌子旁边有一个测试台。它过去工作得很好。但由于某些原因,现在当Java应用程序尝试启动VLC时,它会给出一个“发送错误报告”窗口:“VLC media player遇到问题,需要关闭…”你知道的

很明显,我做了一些事情把事情搞砸了。问题是,我既不知道它可能是什么,也不知道我将如何着手解决它

我知道的东西:

  • 这不是一个代码错误。我在我的开发桌面计算机上运行相同的软件,它没有这个问题
  • 这不是VLC安装,也不是格式错误的视频文件。当我捕获用于从Java启动它的命令并从“cmd”窗口手动输入该命令时,它工作正常
  • 如果您在进行系统调用时不手动排空STDERR和STDOUT,Java就不会惩罚您,这并不是一个卑鄙的bastich bug。我已经办到了
  • 当它失败时,我没有收到任何错误消息或输出;它只是失败了,给了我一个弹出窗口

我被难住了。非常欢迎对它可能是什么或如何确定它是什么的建议。

好吧,我不熟悉java和VLC,但我会做以下事情:

  • 检查两台台式机中是否有相同的java虚拟机。以防万一
  • 检查流程的环境变量。它们依赖于父进程。也许VLC使用了其中的一些
  • 尝试使用本机调试器(如WinDbg)调试崩溃。也许调用堆栈会给你更多的想法 祝你好运

    我的建议:

  • 创建一个只启动VLC的简单java应用程序
  • 使用应用程序启动简单的命令行windows程序
  • 使用你的应用程序启动一个复杂的程序
  • 检查是否存在内存约束问题。VLC的内存太少,无法运行吗

  • 这听起来确实像是内存/环境问题。

    我会尝试很多方法

  • 确保测试和开发机器在各个方面都是相同的,操作系统(如果可能的话,安装在同一个操作系统磁盘上)、同一个JVM版本、同一个JVM内存分配(你知道这些-X-ms的东西)。我担心的不是Java/JVM本身,而是windows
  • 确保您可以从Java应用程序(例如记事本)和Windows Media Player或MS Word之类的应用程序中使用午餐
  • 尝试并启动其他版本的VLC,看看这是否是VLC版本的问题
  • 最后,试着擦拭测试盒并重新安装它(对于Windows,你永远看不出来,新的安装可能就可以了!!)

  • 我不太确定您是否能够从命令提示符下运行vlc,但仍然可以看看本文()。我提出了你的问题(也许其他人可以解决)。可能是你的Java程序没有足够的特权来运行带有所需标志的VLC?请检查您的程序是否使用与您相同的vlcrc文件。