【问题标题】:How to play mp3 stream using the MediaElement class from WPF?如何使用 WPF 中的 MediaElement 类播放 mp3 流?
【发布时间】:2009-11-02 01:53:30
【问题描述】:

我想知道 MediaElement 组件(来自 WPF)是否能够播放和缓冲 mp3 流。

我需要使用 WPF 的 MediaElement 播放 mp3 内存流(不是 mp3 文件),如果可能,请告诉我该怎么做。

非常感谢

【问题讨论】:

标签: wpf wpf-controls mediaelement


【解决方案1】:

遗憾的是,该功能尚未在 WPF 中实现。有一个从代码项目引用的解决方法

"由于 MediaElement 控件与 WPF 的源属性不能 接收 byte[] 或 Stream,我们可以 使用 ASP.NET 作为视频对其进行操作 流。”

Building a Personal Diary with WPF

或者,您可以嵌入一个插件,例如VideoLan DotNet for WinForm & WPF,它可以流式传输文件,并且具有非常广泛的编解码器支持。这样做的缺点是 VideoLAN 需要在机器上本地安装。

另一方面,有一个在 WPF 中实现此功能的功能请求。如果您觉得有义务,请投票;

WPF Feature Suggestions - Add stream capability to MediaElement

【讨论】:

    【解决方案2】:
    MemoryStream s;
    ...
    
    MediaElement m = new MediaElement();
    m.SetSource(s);
    

    【讨论】:

    • 但是这个类在 System.Windwos.dll 中,属于 Silverlight 而不是 WPF(在 PresentationFramework.dll 中)。它们具有相同的类名,并且 Wpf 版本不支持此方法。
    • 当我在我的 WPF 项目中引用相同的类名(和相同的命名空间)时,它将不起作用。
    • SetSource 在 WPF MediaElement 中不可用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多