如何使用资源</system sound>中的音乐创建List <系统声音>

时间:2012-11-11 14:52:14

标签: c#

您好如何使用资源中的音乐创建List<SystemSound>

我试试这个,但我得到以下异常:

    List<System.Media.SystemSound> music = new List<System.Media.SystemSound>
    {
        global::Launcher.Properties.Resources.music_quit_1,
        global::Launcher.Properties.Resources.music_quit_2,
        global::Launcher.Properties.Resources.music_quit_3,
        global::Launcher.Properties.Resources.music_quit_4,
    };
  

“参数1:无法从System.IO.UnmanagedMemoryStream转换为   System.Media.SystemSound“。

从那以后我会随机播放音乐并播放后。

1 个答案:

答案 0 :(得分:1)

此类System.Media.SystemSound未以此方式使用,此类仅用于表示系统声音类型,例如AsteriskBeep,{{ 1}},HandQuestion。可以通过Exclamation播放系统声音

示例

SystemSounds

此示例将播放系统声音 SystemSounds.Asterisk.Play(); 。这类似于Asterisk,因为您不能说System.Drawing.Brush,但您可以说System.Drawing.Brush.BlackSystem.Drawing.Brushes.Black仅用于在名为System.Drawing.Brush的新类中将名称Black的对象定义为颜色System.Drawing.Brushes。我们可以在Black

的定义中看到这一点
System.Drawing.Brushes

此外,如果你想播放一个新的 Wave Sound ,你可以创建一个新的// // Summary: // Gets a system-defined System.Drawing.Brush object. // // Returns: // A System.Drawing.Brush object set to a system-defined color. public static Brush Black { get; } 类来控制 Sound Wave中声音的播放(。wav)文件

示例

SoundPlayer

如果您仍想使用Generic SoundPlayer _SoundPlayer = new SoundPlayer(); //Initializes a new SoundPlayer of name _SoundPlayer _SoundPlayer.SoundLocation = @"D:\Resources\International\Greetings.wav"; //Sets the target Wave Sound file to D:\...\Greetings.wav _SoundPlayer.Play(); //Plays the target Wave Sound file 。然后,也许以下示例可能会帮助您

示例

List

注意List<string> WaveSoundCollections = new List<string> { @"D:\Resources\International\Greetings.wav", @"D:\Resources\International\Good-Bye.wav" }; //Initializes a new Generic Collection of class List of type string and injecting TWO strings into the Generic Collection SoundPlayer NewPlayer = new SoundPlayer(); //Initializes a new SoundPlayer if (Client.Start) //Client refers to a particular Class that has Start and End as bool { NewPlayer.SoundLocation = WaveSoundCollections[0]; //Set the SoundLocation of NewPlayer to D:\Resources\International\Greetings.wav NewPlayer.Play(); //Plays the target Wave Sound file } else if (Client.End) { NewPlayer.SoundLocation = WaveSoundCollections[1]; //Set the SoundLocation of NewPlayer to D:\Resources\International\Good-Bye.wav NewPlayer.Play(); //Plays the target Wave Sound file } 用于播放 Wave Sound 文件。如果您想播放其他媒体文件,例如 .mp3 .mpeg 等等,那么您可以使用SoundPlayer来导入System.Windows.Media.MediaPlayer创建一个新类Object Browser并播放特定文件。

示例

MediaPlayer

重要:要使用string TargetFile = @"D:\File.mp3"; MediaPlayer _MediaPlayer = new MediaPlayer(); _MediaPlayer.Open(new Uri(TargetFile)); _MediaPlayer.Play(); ,您必须添加MediaPlayer的新引用。

要添加WindowsBase的新引用,请尝试以下操作:

  • 右键点击解决方案资源管理器中的参考,然后选择添加引用...
  • 选择 WindowsBase ,然后点击确定
  • 确保您刚刚添加的新引用的名称为复制本地的bool属性设置为 True ,以便客户端不会在初始化期间遇到错误

    It's important to set CopyLocal to True in such cases

谢谢, 我希望你觉得这很有帮助:)