int main(int argc, char **argv) { if (argc != 2) { fprintf(stderr,"usage: arec <file>\n"); return -1; } return rec_wav(argv[1]); }
int answer_record(char* filename1, char* filename2, char use_beep) // Отвечает, записывает сообщение, { if (answer_play(filename1)) return 1; // Отвечаем, предлагаем оставить сообщение if (use_beep) beep(3000, 500); // Биип sprintf(buffer, "/%08lu.wav", record_num); // Формируем имя файла clunet_send(CLUNET_BROADCAST_ADDRESS, CLUNET_PRIORITY_INFO, CLUNET_COMMAND_INTERCOM_MESSAGE, (char*)&record_num, sizeof(record_num)); // Отправляем в сеть сообщение record_num++; eeprom_write_dword((void*)0, record_num); // Запоминаем кол-во записей if (rec_wav(buffer) == 0) // Пишем сообщение { int s = 0; long int totalSize = 0; while (s >= 0 && totalSize < 8000UL*RECORD_MAX_LENGTH) { s = sound_write(); totalSize += s; if (!LINE_POWER || OFFHOOK) // Сняли трубку, или сигнал исчез { sound_stop(); return 1; } } sound_stop(); } if (play_wav_pgm(filename2) == 0) // Если пациент дождался, благодарим { while (sound_read() >= 0) { if (!LINE_POWER || OFFHOOK) // Сняли трубку, или сигнал исчез { sound_stop(); return 1; } } sound_stop(); } return 0; }