我有Silverlight应用程序,它接收媒体的特殊结构:图像和视频。 每个图像或视频的数据都被收到byte []
为了显示图像,我使用:
MemoryStream stream = new MemoryStream(Node.ResourceBin);
BitmapImage bmp = new BitmapImage();
bmp.SetSource(stream);
ImageContainer.Source = bmp;
它有效。
要显示我尝试过的视频:
MemoryStream stream = new MemoryStream();
stream.Write(Node.ResourceBin, 0, Node.ResourceBin.Length);
stream.Position = 0;
VideoContainer.SetSource(stream);
VideoContainer.Play();
它不起作用。我比较了byte []和原始AVI文件的长度,它们是等于的,因此,数据收到正确。
它出了什么问题?
由于
答案 0 :(得分:1)
您是否确认Silverlight可以在不加载的情况下播放视频 它有流吗?我遇到的大多数视频问题与编解码器支持有关。 - The Real Baumann 9小时前
SL仅播放WMV格式。 AVI根本不玩。感谢。
请看这里:http://forums.silverlight.net/t/9498.aspx/1
是。根据Silverlight的概述,它目前支持 (VC-1,WMV,WMA,MP3)和720P高清(HD)视频。
答案 1 :(得分:0)
从所有评论中我都相信我知道会发生什么。
从资源加载视频时请勿使用流。只需使用Source()
设置源VideoContainer.Source("/GraphManager.WebViewer;component/myvideo.avi");
VideoContainer.Play();
当您从互联网下载视频文件时,请使用流