Play two sounds simultaneusly

前端 未结 6 1135
时光取名叫无心
时光取名叫无心 2020-11-27 05:09

Is there a way to play two sounds at the same time?

I know that SoundPlayer isn\'t able to do this. I can\'t use SoundEffect as I believe i

6条回答
  •  离开以前
    2020-11-27 06:01

    From http://alvas.net/alvas.audio,samples.aspx#sample7 and http://alvas.net/alvas.audio,samples.aspx#sample6

    Player pl = new Player();
    byte[] arr = File.ReadAllBytes(@"in.wav");
    pl.Play(arr);
    Player pl2 = new Player();
    pl2.FileName = "123.mp3";
    pl2.Play();
    

    or mix audio data before playing How to mix to mix two audio file..

    private void Mix(string outfile, string infile1, string infile2, int shiftSec)
    {
        WaveReader wr1 = new WaveReader(File.OpenRead(infile1));
        WaveReader wr2 = new WaveReader(File.OpenRead(infile2));
        IntPtr format1 = wr1.ReadFormat();
        WaveFormat wf = AudioCompressionManager.GetWaveFormat(format1);
        WaveWriter ww = new WaveWriter(File.Create(outfile), AudioCompressionManager.FormatBytes(format1));
        byte[] data0 = wr1.ReadData(0, shiftSec);
        byte[] data1 = wr1.ReadData(shiftSec);
        byte[] data2 = wr2.ReadData();
        byte[] mixData = AudioCompressionManager.Mix(format1, data2, data1);
        ww.WriteData(data0);
        ww.WriteData(mixData);
        ww.Close();
        wr2.Close();
        wr1.Close();
    }
    

提交回复
热议问题