使用c#,有没有办法检查文件是否在使用中。更具体地说,我需要一种方法来监视.wav文件的目录,并查看哪个声音文件已被加载。 注意。它可以被不同的应用程序加载。
我看过Core Audio ..但我似乎无法在那里找到答案。 我也试过编码,如果文件被锁定,但也没有提供解决方案。因此,如果您知道确定当前正在播放哪个声音文件( .wav)的方法,请发表评论。有没有办法检查文件是否在使用
0
A
回答
1
protected virtual bool IsFileLocked(FileInfo file)
{
FileStream stream = null;
try
{
stream = file.Open(FileMode.Open, FileAccess.Read, FileShare.None);
}
catch (IOException)
{
//the file is unavailable because it is:
//still being written to
//or being processed by another thread
//or does not exist (has already been processed)
return true;
}
finally
{
if (stream != null)
stream.Close();
}
//file is not locked
return false;
}
下面是引用链接:File is in Use
希望它能帮助。
+0
我试过这个。但它不起作用。 – Eminem
+0
最新错误?你能发布错误吗?这是一个非常通用的解决方案,几乎适用于所有情况。这就是为什么我也给你链接。 –
+2
如果该文件已被另一个进程在FileShare.Read模式下打开,那么即使该文件当前处于打开状态,该文件也会返回false。 –
相关问题
- 1. 有没有办法检查(文件)句柄是否有效?
- 2. 有没有办法检查用户是否使用JQuery登录?
- 3. Swift - 有没有办法检查是否使用可变参数?
- 4. 有没有办法检查一个var是否使用setInterval()?
- 5. 有没有办法检查文件是否使用PHP完全上传?
- 6. 有没有办法检测Outlook邮件是否没有附件?
- 7. 有没有办法检查反应组件是否被卸载?
- 8. 有没有办法检查使用JavaScript的文件编码?
- 9. 有没有办法检查Apache配置文件中是否存在目录?
- 10. 有没有办法检查一个文件是否是SQLite3数据库?
- 11. 有没有办法检查用户目前是否空闲?
- 12. 有没有办法检查IME预测是否启用?
- 13. 有没有办法检查RVO是否被应用?
- 14. 有没有办法检查符号是否被引用?
- 15. 有没有办法检查TLS是否启用?
- 16. 可可 - 有没有办法检查NSURLConnection是否存在缓存?
- 17. 有没有办法在.NET中检查Bitmap是否为空?
- 18. 有没有办法检查代码是否在TransactionScope中执行?
- 19. 有没有办法检查Generic类是否存在字段?
- 20. 有没有办法检查连接标识是否存在?
- 21. 有没有办法检查子进程是否仍在运行?
- 22. 有没有办法检查回发是否正在进行?
- 23. 有没有办法检查我的代理是否在线?
- 24. 有没有办法找出.js文件是否使用jquery sintax?
- 25. 有没有办法检测我是否在文本上悬停?
- 26. 有没有办法检查一个动作是否在ASP.NET MVC中使用?
- 27. 有没有办法检查ansicon.exe是否存在,而不使用CMake运行它?
- 28. Outlook Interop:有没有办法检查一个Outlook文件夹是否只读
- 29. 有没有办法检查Hadoop文件是否已经打开写入?
- 30. 有没有办法以编程方式检查是否打开Excel文件
所以你想看看如果文件被其他应用程序打开?或文件正在被另一个应用程序使用,并且文件被锁定?或者你想看看.wav是否真的开始播放?我认为这些是完全不同的故事 –
通过使用我的意思是正在播放的文件。我认为,一旦文件被加载,它将被锁定..但它不是 – Eminem
如果应用程序将文件加载到内存中,然后立即关闭它,然后通过采样监视它将是错误倾向于说至少。它只会在“加载”到内存中时才被使用。 –