本文整理汇总了C#中IRandomAccessStream.Dispose方法的典型用法代码示例。如果您正苦于以下问题:C# IRandomAccessStream.Dispose方法的具体用法?C# IRandomAccessStream.Dispose怎么用?C# IRandomAccessStream.Dispose使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IRandomAccessStream
的用法示例。
在下文中一共展示了IRandomAccessStream.Dispose方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PlayStreamAsync
public static async Task PlayStreamAsync(this MediaElement mediaElement, IRandomAccessStream stream, bool disposeStream = true)
{
// bool is irrelevant here, just using this to flag task completion.
TaskCompletionSource<bool> taskCompleted = new TaskCompletionSource<bool>();
// Note that the MediaElement needs to be in the UI tree for events like MediaEnded to fire.
RoutedEventHandler endOfPlayHandler = (s, e) =>
{
if (disposeStream)
stream.Dispose();
taskCompleted.SetResult(true);
};
mediaElement.MediaEnded += endOfPlayHandler;
mediaElement.SetSource(stream, (stream as SpeechSynthesisStream).ContentType);
mediaElement.Volume = 1;
mediaElement.IsMuted = false;
mediaElement.Play();
await taskCompleted.Task;
mediaElement.MediaEnded -= endOfPlayHandler;
}
示例2: OnLoadImage
private async void OnLoadImage(IRandomAccessStream imageStream)
{
var image = new WriteableBitmap(1, 1);
image.SetSource(imageStream);
ComicImage.Source = image;
ComicImage.Width = 400;
ComicImage.Height = 300;
imageStream.Dispose();
}
示例3: Play
private async Task Play(IRandomAccessStream buffer)
{
if (buffer == null)
throw new ArgumentNullException("buffer");
var storageFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
if (!string.IsNullOrEmpty(_fileName))
{
var oldFile = await storageFolder.GetFileAsync(_fileName);
await oldFile.DeleteAsync();
}
await Dispatcher.RunAsync(
CoreDispatcherPriority.Normal,
async () =>
{
var storageFile = await storageFolder.CreateFileAsync(AudioFileName, CreationCollisionOption.GenerateUniqueName);
_fileName = storageFile.Name;
using (var fileStream = await storageFile.OpenAsync(FileAccessMode.ReadWrite))
{
await RandomAccessStream.CopyAndCloseAsync(
buffer.GetInputStreamAt(0),
fileStream.GetOutputStreamAt(0));
await buffer.FlushAsync();
buffer.Dispose();
}
var stream = await storageFile.OpenAsync(FileAccessMode.Read);
playBack.SetSource(stream, storageFile.FileType);
playBack.Play();
});
}