c# - 在MediaElement中播放音频时显示一些内容

标签 c# wpf windows audio mediaelement

我正在使用<MediaElement/>预览媒体元素集合的媒体内容。它们是图片,视频和音频。

播放音频时,在<MediaElement/>框架中看不到任何声音,但听到了声音。

我应该如何调整<MediaElement/>的目的,以查看所选音频的相关内容或至少查看音频文件的缩略图?

最佳答案

在音频播放期间,MediaElement框架将不显示任何内容。

但是,您可以使用TagLib显示.mp3文件的专辑封面

安装TagLib并添加相应的 namespace 。然后,编写程序,以便在播放音频文件时,使用以下代码显示表示封面的图像。

如果音频文件没有封面,我还建议在try-catch内部运行此文件。

TagLib.File f = new TagLib.Mpeg.AudioFile(*yourfile*);

TagLib.IPicture pic = f.Tag.Pictures[0];
MemoryStream ms = new MemoryStream(pic.Data.Data);
ms.Seek(0, SeekOrigin.Begin);

BitmapImage bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.StreamSource = ms;
bitmap.EndInit();

System.Windows.Controls.Image CoverArt = new System.Windows.Controls.Image();
CoverArt.Source = bitmap;

关于c# - 在MediaElement中播放音频时显示一些内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41143412/

相关文章:

c# - SignalR 轮询并不总是返回准确的数据库结果

c# - 在哪些情况下我必须在 WPF 中序列化命令的对象?

wpf - 如何使用 ItemContainerStyle 设置 MenuItem 的图标

windows - 如何使用xcopy将多个文件复制到一个文件夹

java - 运行远程桌面应用程序时如何进入UAC提示?

c# - 确定 UTC 时间是否在 DST 内

c# - Xna调试

c# - NSFileManager.SetSkipBackupAttribute() 是否也适用于(递归)路径?

c# - WPF以编程方式在项目控件中滚动 Canvas

c - 在没有宿主程序帮助的情况下,如何在同一个进程中协调不同的 DLL?