简体   繁体   English

从 memory 播放 wav/mp3

[英]Play wav/mp3 from memory

I play mp3/wav from file to create a push effect.我从文件中播放 mp3/wav 以创建推送效果。 However on an Atom CPU based tablet PC, there is a delay when I touch the button.但是在基于 Atom CPU 的平板电脑上,当我触摸按钮时会有延迟。

I'll try to play wav/mp3 from memory instead of file system.我将尝试从 memory 而不是文件系统播放 wav/mp3。 Can anyone give a code snippet or a clue?任何人都可以提供代码片段或线索吗?

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

Something like this?像这样的东西?

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();
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM