Exemplo n.º 1
0
    /// <summary>
    /// Вернёт байты готового тестового сетерео файла длинной в 1 секунду, с частотой дискретизации 44.1 кГц и 32 битным значением звука который вы можете воспроизвести.
    /// Если не вылетит в ошибку - библиотека работает :)
    /// </summary>
    /// <returns></returns>
    public Byte[] GetTestWAVData()
    {
        Int32[,] sound = new Int32[44100, 2];
        Random ran = new Random();

        for (Int32 i = 0; i < sound.GetLength(0); i++)
        {
            sound[i, 0] = (Int32)(Math.Sin(i * 0.1f * (i / 1000f)) * (Int32.MaxValue * 0.05f));
        }

        for (Int32 i = 0; i < sound.GetLength(0); i++)
        {
            sound[i, 1] = (Int32)(Math.Sin(i * 0.1f * Math.Abs(Math.Cos(i / 10000f))) * (Int32.MaxValue * 1f));
        }

        WAVElib wlib = new WAVElib();

        wlib.SampleRate    = 44100;
        wlib.BitsPerSample = 32;
        wlib.Sound         = sound;

        Byte[] res = wlib.GetWAVData();
        wlib.Dispose();

        return(res);
    }
Exemplo n.º 2
0
    /// <summary>
    /// Возвращает байты готового WAV файла в соответствии с заданными значениями.
    /// Не сохраняет значения в самом объекте, пожтому такие свойства как Duration или Data не будут доступными.
    /// </summary>
    /// <returns></returns>
    public Byte[] GetWAVData(UInt32 SampleRate, UInt16 BitsPerSample, Int32[,] Sound)
    {
        WAVElib wlib = new WAVElib();

        wlib.SampleRate    = SampleRate;
        wlib.BitsPerSample = BitsPerSample;
        wlib.Sound         = Sound;
        Byte[] res = wlib.GetWAVData();
        wlib.Dispose();
        return(res);
    }