有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用于读取OBS写入的java打开文件

对于任何熟悉开放式流媒体软件OBS(开放式广播软件)的人,您都知道他们有一个开始录制(实时捕获)功能

我想抓取那个实时捕获并读取它的字节,以便在我的终端上进行进一步的操作,而不去玩弄正在创建的实际文件

问题仍然存在,错误消息(进程无法访问该文件,因为它正被另一个进程使用)正在显示,并且它总是在以下位置出错:

FileInputStream fis = new FileInputStream(file);

文件是要写入的活动文件的位置

我想知道有什么可能的解决办法?如果文件是为写入和可能读取而打开的,我是否应该仅为读取目的访问它?我也尝试过BufferedReader来解决这个问题

编辑: VLC在试图打开它时也出现了这个错误,可能是一个简单的权限块

文件读取失败: VLC无法打开文件“D:\Raw Clips\Local Recordings\Hello(01).flv”(权限被拒绝)

无法打开您的输入: VLC无法打开MRL'file:///D:/Raw%20Clips/Local%20Recordings/Hello%20%2801%29.flv“。有关详细信息,请查看日志


共 (1) 个答案

  1. # 1 楼答案

    因此,对于所有想知道的人来说,问题在于OBS Classic中的文件似乎受到限制而不是共享。 开发人员Jim按照指示更改源/MP4FileStream。cpp第154行至

    if(!fileOut.Open(lpFile, XFILE_SHARED, 1024*1024))
    

    在共享文件应该允许打开文件进行读取的地方,OBS Studio在这个问题上没有跟进