【问题标题】:How to play audio from resource如何从资源播放音频
【发布时间】:2009-12-14 12:40:51
【问题描述】:

我正在尝试使用 .NET Compact Framework 从资源中播放音频。我在我的应用程序中为资源属性添加了一个音频文件,并尝试将以下示例资源文件参考代码用于...

SoundPlayer player = new SoundPlayer(Assembly.GetExecutingAssembly().
    GetManifestResourceStream("blessedwav.wav"));
player.Play();

但此代码不会播放 WAV 声音。如何使用 .NET Compact Framework 3.5 播放资源音频文件?

【问题讨论】:

    标签: .net compact-framework audio


    【解决方案1】:

    我得到了解决方案。此代码在 .NET Compact Framework 中运行良好:

    // Convert a byte array to a stream
    using (var audioStream = new MemoryStream(Properties.Resources.full_song_wav))
    {
        using (var player = new SoundPlayer(audioStream))
        {
            player.Play()
        }
    }
    

    【讨论】:

    • 很高兴听到您找到了解决方案 :)
    【解决方案2】:

    试试这个:

    //I added the file as a audio resource in my project
    SoundPlayer player = new SoundPlayer(Properties.Resources.recycle);
    player.Play();
    

    我没有尝试使用 .NET Compact Framework。但它在 C# 中对我有用。

    【讨论】:

    • 我试试这个代码,但它不起作用.Net CF,它显示错误:System.Media.SoundPlayer.SoundPlayer(string)' 的最佳重载方法匹配有一些无效参数。无论如何谢谢anuraj
    • 嗯,所以我认为 .Net CF 只有一个使用字符串作为参数的重载。那么为什么不将文件保存到临时位置并从那里播放呢。
    【解决方案3】:

    这应该适合你:

    Stream str = Properties.Resources.YourWaveSoundFile;
    SoundPlayer plyr = new SoundPlayer(str);
    plyr.Play();
    

    确保您的命名空间上方有using System.Media

    【讨论】:

      【解决方案4】:
      Resources.ResourceManager.GetStream("nudgeSound", Resources.Culture);
      System.IO.Stream s = Resources.ResourceManager.GetStream("nudgeSound", Resources.Culture);
      SoundPlayer player = new SoundPlayer(s);
      player.Play();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-07
        • 2023-03-05
        相关资源
        最近更新 更多