有没有办法检查文件是否正在使用

时间:2017-01-30 13:03:04

标签: c# audio core-audio

使用c#,有没有办法检查文件是否正在使用中。更具体地说,我需要一种方法来监视 .wav文件的目录,并查看已加载的声音文件。 注意。它可以由不同的应用程序加载 我看过Core Audio ..但我似乎无法在那里找到答案。 我还尝试编写代码,如果文件被锁定但是也没有提供解决方案。因此,如果您知道某种方法来确定当前正在播放哪个声音文件( .wav),请发表评论。

1 个答案:

答案 0 :(得分: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

希望它有所帮助。