使用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
如果應用程序將文件加載到內存中,然後立即關閉它,然後通過採樣監視它將是錯誤傾向於說至少。它只會在「加載」到內存中時才被使用。 –