开发手册 欢迎您!
软件开发者资料库

WPF - 多媒体

WPF多媒体 - 从概述,环境设置,Hello World,XAML概述,元素树,依赖属性,路由事件,控件,布局,布局嵌套,输入,命令行,数据绑定,资源,简单而简单的步骤学习WPF模板,样式,触发器,调试,自定义控件,异常处理,本地化,交互,2D图形,3D图形,多媒体。

WPF应用程序使用 MediaElement 支持视频和音频.它允许您将音频和视频集成到应用程序中. MediaElement类的工作方式与Image类类似.你只需将它指向媒体并呈现它即可.主要区别在于它将是一个动态图像,但是如果你指向只包含音频而没有MP3等视频的文件,它就会在没有在屏幕上显示任何内容的情况下播放.

WPF支持所有类型的视频/音频格式,具体取决于机器配置.如果媒体文件播放媒体播放器,它也可以在同一台机器上的WPF中工作.

示例

让我们举一个例子来了解如何将多媒体集成到您的应用程序中.

  • 创建一个名为 WPFMultimedia 的新WPF项目.

  • 以下XAML代码创建一个媒体元素和三个按钮,并使用一些属性初始化它们.

                                                                                         

以下是C#中针对不同按钮的Click事件实现.

using System; using System.Windows;  namespace WPFMultimedia {    public partial class MainWindow : Window {       public MainWindow() {          InitializeComponent();          myMedia.Volume = 100;          myMedia.Play();       }       void mediaPlay(Object sender, EventArgs e) {          myMedia.Play();       }        void mediaPause(Object sender, EventArgs e) {          myMedia.Pause();      }       void mediaMute(Object sender, EventArgs e) {          if (myMedia.Volume == 100) {             myMedia.Volume = 0;             muteButt.Content = "Listen";          }          else {             myMedia.Volume = 100;             muteButt.Content = "Mute";          }       }    }  }

当你编译并执行上面的代码时,它会产生以下窗口.您可以使用三个按钮播放视频并控制其播放.

Multimedia

使用按钮可以暂停,静音和播放视频.

语音合成器

WPF具有将文本转换为语音的功能.此API包含在System.Speech命名空间中. SpeechSynthesizer 类将文本转换为口语单词.

示例

让我们看一个简单的例子.

  • 创建一个名为 WPFTextToSpeech 的新WPF项目.

  • 我们需要将System.Speech程序集添加为 SpeechSynthesizer 类的参考.

  • 右键单击References并选择Add Reference.

WPF文本到语音

  • 将打开"参考管理器"对话框.现在检查System.Speech复选框

参考管理器对话框

  • 单击"确定"按钮.您可以在参考文献中看到System.Speech程序集.

系统语音

  • 现在从工具箱中将一个按钮和一个文本框拖到设计窗口中.

  • 以下XAML代码创建一个按钮和一个文本框,并使用一些属性初始化它们.

                       

  • 这是C#中的简单实现,它将文本框内的文本转换为语音单词.

using System.Speech.Synthesis; using System.Windows;  namespace WPFTextToSpeech {    ///        /// Interaction logic for MainWindow.xaml    ///     public partial class MainWindow : Window {       public MainWindow() {          InitializeComponent();       }       private void button_Click(object sender, RoutedEventArgs e) {          if (textBox.Text != "") {            SpeechSynthesizer speechSynthesizer = new SpeechSynthesizer();             speechSynthesizer.Speak(textBox.Text);           }          else {             MessageBox.Show("Write some thing in the textbox!");         }       }    }}

当你编译并执行上面的代码时,它会产生以下窗口.现在,在文本框中键入Hello World,然后单击Speak按钮.

Multimedia Output 1

它会产生声音"Hello World".如果你没有在文本框中输入任何内容,那么它将闪现以下信息.

多媒体输出2

我们建议你执行上面的例子.