在我的应用程序中,我使用以下代码将 .DSS 格式的音频文件读入字节数组
byte[] bt = File.ReadAllBytes(Filepath);
但我无法将数据输入字节。但是在它正在播放的音频播放器中,我如何将文件读入字节数组。
我在这里附上 Snap,bt 有什么,它显示所有字节为 255。
TIA
好吧,Dss 格式是受版权保护的,您可能找不到很多关于它的信息。
Dss 文件中通常使用 255 或 0xFF 来表示一个字节未在使用中。您将在 Dss 文件的标题中看到其中的许多,稍后在音频部分中它们将更加稀疏。
这意味着:您显示的字节 83-97 区域中的值 255 并不意味着出现问题。
为确保这不是 File.ReadAllBytes 的问题,请尝试使用流读取文件,如下所示:
using (var fileStream = new FileStream(FilePath, FileMode.Open, FileAccess.Read))
{
byte[] buffer = new byte[fileStream.Length];
fileStream.Read(buffer, 0, (int) fileStream.Length);
// use buffer;
}
更新:由于它也不起作用,因此您的文件应该有问题。尝试找到任何可能正在阻塞并正在使用它的进程。此外,尝试使用任何 HEX 编辑器打开文件,看看是否真的存在任何有意义的数据。我还将创建干净的测试应用程序/沙箱来测试它是否正常工作。