Exemple #1
0
        private void btnPlay_Click(object sender, EventArgs e)
        {
            var    awFile  = root.currentWGroup;
            var    wavDesc = root.currentWave;
            Stream fStrm   = null;

            try
            {
                fStrm = File.OpenRead(awFile.awFile);
            } catch
            {
                MessageBox.Show($"Failed to open '{awFile.awFile}'", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            byte[] tf = new byte[wavDesc.wsys_size];
            fStrm.Position = wavDesc.wsys_start;
            fStrm.Read(tf, 0, wavDesc.wsys_size);
            var ADP = ADPCM.ADPCMToPCM16(tf, ADPCM.ADPCMFormat.FOUR_BIT);
            var w   = JAIDSP.SetupSoundBuffer(ADP, 1, (int)wavDesc.sampleRate, 0);
            var b   = new JAIDSPVoice(ref w);

            b.play();
            fStrm.Close();
        }