我需要修剪wp7中的.wav文件。我有一些代码,但它不工作。有谁知道如何修剪Windows Phone 7中的WAV文件?如何修剪WAV文件?
下面是我没有用的代码。
public IsolatedStorageFileStream TrimWavFile(string FileName, TimeSpan cutFromStart, TimeSpan cutFromEnd)
{
long start = Convert.ToInt64((16/8) * 16000 * cutFromStart.TotalSeconds);
long end = Convert.ToInt64((16/8) * 16000 * cutFromEnd.TotalSeconds);
IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream stream = storage.OpenFile(FileName as string, FileMode.Open, FileAccess.Read);
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length);
return TrimWavFile(stream, start, end);
}
private IsolatedStorageFileStream TrimWavFile(IsolatedStorageFileStream reader, long startPos, long endPos)
{
IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream writer = new IsolatedStorageFileStream("t", FileMode.OpenOrCreate,storage);
reader.Position = startPos;
byte[] buffer = new byte[1024];
while (reader.Position < endPos)
{
int bytesRequired = (int)(endPos - reader.Position);
if (bytesRequired > 0)
{
int bytesToRead = Math.Min(bytesRequired, buffer.Length);
int bytesRead = reader.Read(buffer, 0, bytesToRead);
if (bytesRead > 0)
{
writer.Write(buffer, 0, bytesRead);
}
}
Makewav.WriteHeader(writer, (int)writer.Length - 44, 1, 16000);
}
return writer;
}
恭喜修复。如果可以,请确保接受您的答案,以便其他人可以从您的解决方案中学习。干杯〜 –