11

我从文件中播放 mp3/wav 以创建推送效果。但是在基于 Atom CPU 的平板电脑上,当我触摸按钮时会有延迟。

我会尝试从内存而不是文件系统播放 wav/mp3。任何人都可以提供代码片段或线索吗?

System.Media.SoundPlayer player = new System.Media.SoundPlayer();
player.SoundLocation = System.Windows.Forms.Application.StartupPath + "\\beep-7.wav";
player.Play();
4

1 回答 1

18

像这样的东西?

public class MediaPlayer
{
    System.Media.SoundPlayer soundPlayer;

    public MediaPlayer(byte[] buffer)
    {
        var memoryStream = new MemoryStream(buffer, true);
        soundPlayer = new System.Media.SoundPlayer(memoryStream);
    }

    public void Play()
    {
        soundPlayer.Play();
    }

    public void Play(byte[] buffer)
    {
        soundPlayer.Stream.Seek(0, SeekOrigin.Begin);
        soundPlayer.Stream.Write(buffer, 0, buffer.Length);
        soundPlayer.Play();
    }
}
于 2011-06-14T08:32:28.803 回答