对于熟悉开放流媒体软件OBS(开放广播软件)的任何人,您都会知道他们具有开始录制(实时捕获)功能。
我想获取实时捕获并读取它的字节,以便在我的结束时进行进一步操作,而不会使用正在创建的实际文件。
问题仍然存在,因为正在呈现错误消息(进程无法访问该文件,因为正由另一个进程使用该文件),并且始终出现错误:
FileInputStream fis = new FileInputStream(file);
文件是正在写入的实时文件的位置。
我想知道可能有哪些可行的工作?如果文件是开放的写入和可能阅读,我不应该只为阅读目的访问它?我也尝试过BufferedReader来解决这个问题。
编辑: 尝试打开它时VLC发出了这个错误,可能是一个简单的权限块吗?
文件读取失败: VLC无法打开文件“D:\ Raw Clips \ Local Recordings \ Hello(01).flv”(权限被拒绝)。
您的输入无法打开: VLC无法打开MRL'文件:/// D:/Raw%20Clips/Local%20Recordings/Hello%20%2801%29.flv'。查看日志以获取详细信息。
答案 0 :(得分:0)
所以对于每个人都在想,问题在于OBS Classic,其中File似乎受到限制而不是共享。 开发人员Jim指示我将Source / MP4FileStream.cpp第154行更改为
#include <iostream>
int main(void)
{
int x;
std::cout
<< "The expression x = 100 has the value " << (x = 100) << ".\n"
<< "Now x has the value " << x << ".\n"
<< "The expression x < 3 has the value " << (x < 3) << ".\n"
<< "The expression x > 3 has the value " << (x > 3) << ".\n";
system("pause");
return 0;
}
如果共享应该允许文件打开以供阅读,OBS Studio不会就此问题采取措施。