我是WP7的新手,当我按下一个按钮的时候,我正在尝试用MediaElement播放声音。它的工作,但不幸的是,我得到“操作不允许在IsolatedStorageFileStream上”异常时,我重复按下按钮,在声音开始之前。我该如何避免这种情况呢?
Play方法:
public void Play(string filename)
{
try
{
mediaElement.Stop();
mediaElement.ClearValue(MediaElement.SourceProperty);
using (var isf = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream fileStream = isf.OpenFile(@"shared\transfers\" + filename, FileMode.Open))
{
mediaElement.SetSource(fileStream);
mediaElement.IsMuted = false;
mediaElement.Volume = 1.0;
}
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
}事件处理程序:
void me_MediaOpened(object sender, RoutedEventArgs e)
{
mediaElement.Play();
}
void me_MediaEnded(object sender, RoutedEventArgs e)
{
mediaElement.ClearValue(MediaElement.SourceProperty);
}发布于 2011-11-28 12:08:25
如果您希望允许用户仅单击播放按钮一次。一种方法是。
public bool IsPlaying = false;
void me_MediaOpened(object sender, RoutedEventArgs e)
{
if(!IsPlaying){
mediaElement.Play();
IsPlaying = true;
}
}
void me_MediaEnded(object sender, RoutedEventArgs e)
{
if(IsPlaying){
mediaElement.ClearValue(MediaElement.SourceProperty);
IsPlaying = false;
}
}如果你正在处理小尺寸的流,在播放之前将filestream加载到memorystream应该会让它更灵活。
https://stackoverflow.com/questions/8289328
复制相似问题