Вверх ↑
Этот топик читают: Гость
Ответов: 1926
Рейтинг: 172
#1: 2012-03-13 16:48:22 ЛС | профиль | цитата
Какие бы параметры записи (Bits, Stereo, Speed) ни выставить, всегда в файле получается одно и то же:
Bit rate : 88.2 Kbps
Channel(s) : 1 channel
Sampling rate : 11.025 KHz
Bit depth : 8 bits

Что делать? как исправить код?
карма: 9
0
Ответов: 16884
Рейтинг: 1239
#2: 2012-03-13 17:14:15 ЛС | профиль | цитата
3042 Проблемы с компонентом Record, а он где ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1926
Рейтинг: 172
#3: 2012-03-13 17:45:08 ЛС | профиль | цитата
На вкладке Мультимедиа, это запись звука.
карма: 9
0
Ответов: 258
Рейтинг: 2
#4: 2012-03-13 17:53:19 ЛС | профиль | цитата
3042 писал(а):
На вкладке Мультимедиа, это запись звука

Дааа! Весело тут!
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#5: 2012-03-13 17:59:53 ЛС | профиль | цитата
3042 писал(а):
На вкладке Мультимедиа, это запись звука.
Может пальчиком покажешь ?
У меня такого не нашёл. Там у меня 5 штук REC-ов и все запись звука . О каком идет речь ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1821
Рейтинг: 168
#6: 2012-03-13 18:06:20 ЛС | профиль | цитата
Tad, об этом:
scrrecord.png
карма: 5

0
файлы: 1scrrecord.png [5KB] [532]
Ответов: 16884
Рейтинг: 1239
#7: 2012-03-13 18:46:33 ЛС | профиль | цитата
Теперь понял. По кодам вроде всё должно работать. Вечером вникну.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1926
Рейтинг: 172
#8: 2012-03-14 08:41:53 ЛС | профиль | цитата
Ну так что там?
У меня мысль, что строчки типа 'SAMPLESPERSEC ' + int2str(_prop_Speed) +
не имеют пробела в начале: ' SAMPLESPERSEC ' + int2str(_prop_Speed) +, и последняя цифра сливается со следующим словом.

А также при удалении параметра BYTESPERSEC запись качественнее, но при проигрывании в том же MediAPlayer (компонент hiasm ) позиция отображается неверно...
карма: 9
0
Ответов: 1926
Рейтинг: 172
#9: 2012-03-17 14:50:30 ЛС | профиль | цитата
Люди, вы где
Вопрос-то не решён
карма: 9
0
Ответов: 8927
Рейтинг: 823
#10: 2012-03-19 10:33:43 ЛС | профиль | цитата
3042, наверное, с самого начала этот компонент так работал, что бы в свойствах ни выставить, получается 1 байт, моно, 11025 Гц дискретизация Вот, на картинке (пробелы в коды вставил):
mci.jpg
------------ Дoбавленo в 10.33:
Может в этой строчке:

#pas
mciSendString(PChar('SET dlma TIME FORMAT MS ' +
'BITSPERSAMPLE ' + int2str(_prop_Bits) +
' CHANNELS ' + int2str(_prop_Stereo) +
' SAMPLESPERSEC ' + int2str(_prop_Speed) +
' BYTESPERSEC ' + int2str(round(_prop_Bits*_prop_Stereo*_prop_Speed/8))),
nil, 0, 0);
разделители какие надо поставить, посмотреть в описании к MCI :?:
карма: 19

0
файлы: 1mci.jpg [129.3KB] [423]
Разработчик
Ответов: 26161
Рейтинг: 2127
#11: 2012-03-19 11:33:04 ЛС | профиль | цитата
Вот первоисточник команды Set -- http://msdn.microsoft.com/en-us/library/windows/desktop/dd798661(v=vs.85).aspx
Но я не нашел там вот этот параметр -- TIME FORMAT MS, может по-этому дальше остальные параметры не читаются
------------ Дoбавленo в 11.33:
В чем-то другом проблема. MS -- это сокращение от milliseconds
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#12: 2012-03-19 11:42:23 ЛС | профиль | цитата
mciSendString("set rec bitspersample 8 samplespersec 8000 channels 1", NULL, 0, NULL);

-устанавливает параметры устройства: 8000 отсчетов в секунду (то есть за одну секунду амплитуда сигнала снимается 8000 раз), для хранения одного отсчета (одного уровня амплитуды сигнала) используется 8 бит, то есть 1 байт, используется один звуковой канал ( то есть запись монофоническая, при стереофонической записи количество каналов - 2);
Может быть здесь собака зарыта:
Не нашел (да глубоко и не рыл), где бы наше ' CHANNELS ' + int2str(_prop_Stereo) могло стать CHANNELS 2 (у нас _prop_Stereo = или 0 или 1, но никак не 2).



А 'BYTESPERSEC ' + int2str(round(_prop_Bits*_prop_Stereo*_prop_Speed/8)) при _prop_Stereo=Mono(0) вообще абсурд.


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26161
Рейтинг: 2127
#13: 2012-03-19 12:43:03 ЛС | профиль | цитата
Tad, там списки стоят, все правильно сделано. Ошибка не в этом. Для начала нужен стандартный ряд SAMPLESPERSEC, у нас описан округленный ряд -- к примеру, вместо 44000 нужно 44100. К тому же, я выснил, что 44100 и 48000 в Win7 не записывается моно, только стерео, а 32000 и ниже не записывается стерео, только моно. BYTESPERSEC не нужен вообще, если описаны остальные параметры
------------ Дoбавленo в 12.24:
Последние уточнения такие --до 44100 в Win7 пишется только моно, а свыше 44100 пишется только стерео
------------ Дoбавленo в 12.32:
Еще уточнил -- до 22050 понимает только 8 бит, 16 бит не понимает
------------ Дoбавленo в 12.43:
SAMPLESPERSEC ниже 8000 вообще не понимается, как и 8000 тоже
карма: 22

0
Ответов: 1926
Рейтинг: 172
#14: 2012-03-19 13:23:26 ЛС | профиль | цитата
nesco, у меня XP
Но у меня тоже ниже определённого значения Speed только 8 bit получается.

Я вообще так проверял:
{mciSendString(PChar('SET dlma TIME FORMAT MS ' +
'BITSPERSAMPLE ' + int2str(_prop_Bits) +
' SAMPLESPERSEC ' + int2str(_prop_Speed) +
' CHANNELS ' + int2str(_prop_Stereo) +
' BYTESPERSEC ' + int2str(round(_prop_Bits*_prop_Stereo*_prop_Speed/8))),
nil, 0, 0);}
mciSendString('SET dlma TIME FORMAT MS bitspersample 16 samplespersec 44100 channels 2 bytespersec 176400', nil, 0, 0);
Т.е. комментирую основной код и вставляю просто готовую строку, не учитывающий параметры самого компонента, чтобы исключить то, что само составление кода (закомментированного) неверное.
карма: 9
0
Ответов: 8927
Рейтинг: 823
#15: 2012-03-19 13:45:38 ЛС | профиль | цитата
nesco писал(а):
44100 и 48000 в Win7 не записывается моно, только стерео
У меня Win7 второй год только, а ранее на ХР компонент работал так же, хотя я его практически не использовал, может забыл Сейчас на VM XP попробую
------------ Дoбавленo в 13.32:
3042, вот-вот, и я то же: mciSendString(PChar('SET dlma BITSPERSAMPLE 16, CHANNELS 2, SAMPLESPERSEC 48000, BYTESPERSEC 192000'), nil, 0, 0);
------------ Дoбавленo в 13.45:
Так что остаётся надеяться на nesco -- он пограмотнее нас
Кстати о птичках: в комплекте с BASS 2.4 приложен рекордер, *.exe всего 7,5 кбайт! форма и три кнопки, пишет стерео, данные в 4-х байтном формате с плавающей точкой *.wav
карма: 19

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)