0
在我的Silverlight應用程序中,我從具有ZipInputStream的文件讀取音頻數據,然後將其存儲在MemoryStream中。這裏是我正在使用的代碼:MediaElement隨機停止從MemoryStream中播放音頻
byte[] buf = new byte[1024];
MemoryStream memoryStream = new MemoryStream();
int len;
while ((len = zipInputStream.Read(buffer, 0, buffer.Length)) > 0)
{
memoryStream.Write(buf, 0, len);
}
// Reset the position for reading.
memoryStream.Position = 0;
// Check how large the byte[] is.
textBox.Text = memoryStream.ToArray().Length.ToString();
MediaElement me = new MediaElement();
me.setSource(memoryStream);
me.Play();
此代碼部分工作;輸入文件中的歌曲開始播放。另外,對於同一首歌曲,字節[]總是具有相同的長度。我認爲這意味着這首歌每次都會被完全閱讀。
但是,我的問題是,音頻隨機停止播放在每個不同的點通過。這首歌還沒有完全播放,要麼。我不確定爲什麼會發生這種情況。
如果有人知道,我想知道爲什麼會發生這種情況。我還想知道我的代碼是否有問題,或者我應該採用不同的方式來存儲音頻(不涉及在用戶計算機上存儲文件)。