- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 MediaStreamSource
这是动态生成的,我想绑定(bind)到 MediaElement。不幸的是 Source
属性只接受 URI,所以我不走运。
有一种方法SetSource
我可以在后面的代码中调用它,但我不知道如何在保持 MVVM 模式的同时做到这一点。
有没有人可以让我将 MediaElement 绑定(bind)到源?
解决方案(感谢 Claus Jorgensen)
我定义了一个类MainPageLoaded
用作消息类。
public class MainPageLoaded
{
public MediaStreamSource StreamSource
{
get;
set;
}
}
var msg = new MainPageLoaded(){ StreamSource = new MediaStreamSource()};
Messenger.Default.Send<MainPageLoaded>(msg);
Messenger.Default.Register<MainPageLoaded>(this, (action) => SetSoundSource(action));
private void SetSoundSource(MainPageLoaded action)
{
SoundElement.SetSource(action.StreamSource);
}
最佳答案
您还可以使用 CommandParameter 将 MediaElement 传递给 ViewModel 并在 viewModel 中设置媒体源:
public MyViewModel()
{
PlayPreviewCommand= new DelegateCommand(PlayPreview, CanPlayPreview);
}
public ICommand PlayPreviewCommand
{
get;
set;
}
public void PlayPreview(object par)
{
if (par != null && par is MediaElement)
{
var preview = composition.GeneratePreviewMediaStreamSource(640, 480);
(par as MediaElement).SetMediaStreamSource(preview);
(par as MediaElement).Play();
}
}
<MediaElement x:Name="mediaElement" />
<AppBarButton Icon="Play"
Label="Play"
Command="{Binding PlayPreviewCommand}"
CommandParameter="{Binding ElementName=mediaElement}">
关于c# - 将 MediaStreamSource 绑定(bind)到 MediaElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8801537/
我们正在尝试在 WP7 模拟器上使用 MediaStreamSource 播放 H.264 流。但是遇到了 3100 视频错误: 在 Mp4MediaStreamSource 的重写方法 OpenMe
如您所知,您可以使用 MediaElement.SetSource(Stream)要将媒体源设置为本地硬盘驱动器上的文件等流,现在假设视频由多个流组成。例如,一个大约 1 小时的视频被分成 6 个 1
我有一个 UWP 项目,我想使用 Windows.Media.Audio API 来播放文件。我不想使用 FileInputNode,而是想流式传输我的文件,以便我可以精确地确定各种计时属性。 我找到
场景:我们有一个将要离线发布的 silverlight 5 OOB 应用程序 (DVD ROM)。此应用程序用作某些教育内容的媒体播放器。为了保护 DVD ROM 附带的视频文件,我决定用每个用户唯一
根据 msdn,MediaStreamSource.AudioBufferLength “获取或设置音频缓冲区的长度”。但是那个长度是多少?毫秒? sample ?字节?任何人?布勒? 最佳答案 毫秒
有人用过这个吗?我相信我搞砸了 CodecPrivateData,但我找不到任何似乎有效的 WAVEFORMTEX FormatTags。我尝试了 0xFF00、0x1016 和 0x0116。我使用
我正在尝试通过 MediaStreamSource 将 Shoutcast 流式传输到我的 MediaElement。这是一个包含一些基础知识的代码。使用 ReadData 方法我可以下载原始音频数据
我有一个 MediaStreamSource这是动态生成的,我想绑定(bind)到 MediaElement。不幸的是 Source属性只接受 URI,所以我不走运。 有一种方法SetSource我可
我已经编写了一个自定义媒体流源,它可以播放来自不断增长的源文件(mpeg 传输流)的媒体。一旦它到达其媒体流的末尾,它就会从媒体文件中读取新的持续时间并继续传送样本。 MediaElement 连续播
我正在尝试使用 Web Audio Api 获取每分钟节拍数 (BPM),就像在以下链接( http://joesul.li/van/beat-detection-using-web-audio/ 或
背景 我正在尝试使用发现的 MediaStreamSource 实现在 Silverlight 4 中流式传输波形文件 here .问题是我想在文件还在缓冲的时候播放它,或者至少在它缓冲的时候给用户一
我是一名优秀的程序员,十分优秀!