Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.239.87.20] |
|
Сообщ.
#1
,
|
|
|
Подскажите, пожалуйста, как после создания семпла
float amp = 32767f; float sampleRate = 64f; float freq = 440f; int sampleLenght = 256; if(!Bass.BASS_Init(-1, (int)sampleRate, BASSInit.BASS_DEVICE_DEFAULT, IntPtr.Zero)) ShowMes("Error Init"); int sample = Bass.BASS_SampleCreate(sampleLenght, (int)(freq * sampleRate), 1, 1, BASSFlag.BASS_SAMPLE_LOOP | BASSFlag.BASS_SAMPLE_OVER_POS); if (sample == 0) ShowMes("Error SampleCreate"); short[] data = new short[sampleLenght / 2]; // data buffer for (int i = 0; i < sampleLenght / 2; i++) data[i] = (short)(amp * Math.Sin(i * 2f * Math.PI / sampleRate)); // sine wave - bass if (!Bass.BASS_SampleSetData(sample, data )) ShowMes("Error SampleSetData"); int channel = Bass.BASS_SampleGetChannel(sample, true); if(!Bass.BASS_ChannelPlay(channel, true)) ShowMes("Error ChannelPlay"); Прикреплённый файлCsSoundConsForum.zip (152,99 Кбайт, скачиваний: 148) |
Сообщ.
#2
,
|
|
|
Для сохранения в MP3 есть отдельная либа: BASSenc_mp3 (http://www.un4seen.com/)
|
Сообщ.
#3
,
|
|
|
Спасибо большое за ответ. Получилось так:
int stream = Bass.BASS_StreamCreatePush((int)freq, 1, BASSFlag.BASS_DEFAULT, IntPtr.Zero); if (stream == 0) ShowMes("Error StreamCreate"); if(BassEnc_Mp3.BASS_Encode_MP3_StartFile(stream, null, Un4seen.Bass.AddOn.Enc.BASSEncode.BASS_ENCODE_DEFAULT, "2.mp3") == 0) ShowMes("Error MP3_StartFile"); BassEnc.BASS_Encode_Write(stream, data, 128); BassEnc.BASS_Encode_Stop(stream); |