ChatCrawlersearch across public Telegram Open the app
P

python خانه پایتون گروه آموزشی برنامه نویسی

сообщение · 2023-12-18 21:58 UTC
M
این کد من به زبان سی هستش که یک فایل صوتی رو میخونه و یک فایل صوتی با شدت ولومی که در اختیارش دادین تولید میکنه(ولوم فایل صوتی رو کم و زیاد میکنه از روی عددی که دادین)با این کامند : ./volume input.wav output.wav 2.0 .c // Modifies the volume of an audio file #include <stdint.h> #include <stdio.h> #include <stdlib.h> // Number of bytes in .wav header const int HEADER_SIZE = 44; int main(int argc, char *argv[]) { // Check command-line arguments if (argc != 4) { printf("Usage: ./volume input.wav output.wav factor\n"); return 1; } // Open files and determine scaling factor FILE *input = fopen(argv[1], "r"); if (input == NULL) { printf("Could not open file.\n"); return 1; } FILE *output = fopen(argv[2], "w"); if (output == NULL) { printf("Could not open file.\n"); return 1; } float factor = atof(argv[3]); // TODO: Copy header from input file to output file uint8_t header[44]; size_t bytesRead = fread(header, 1, sizeof(header), input); size_t bytesWritten = fwrite(header, 1, sizeof(header), output); // TODO: Read samples from input file and write updated data to output file int16_t buffer; size_t bytesReadInt16; while ((bytesReadInt16 = fread(&buffer, sizeof(buffer), 1, input)) > 0) { buffer = buffer * factor; fwrite(&buffer, sizeof(buffer), 1, output); } fclose(input); fclose(output); } 44 بایت هدره نباید دست زد و بدون تغییر به فایل جدید منتقل کرد ولی بایت های بعدی بایت های دوتایی ان(2بایت)که ضربدر شدت ولوم میشن و بعد منتقل میشن به فایل جدید .c // TODO: Copy header from input file to output file uint8_t header[44]; size_t bytesRead = fread(header, 1, sizeof(header), input); size_t bytesWritten = fwrite(header, 1, sizeof(header), output); // TODO: Read samples from input file and write updated data to output file int16_t buffer; size_t bytesReadInt16; while ((bytesReadInt16 = fread(&buffer, sizeof(buffer), 1, input)) > 0) { buffer = buffer * factor; fwrite(&buffer, sizeof(buffer), 1, output); } 1.چرا 44بایتی که منتقل کرده داخل حلقه while وارد نمیشه؟ 2.این دو بایت دوبایت ها داخل یه چیز واحد ذخیره میشنو هردو ضرب در شدت ولوم ورودی میشن؟

Вся лента · оригинал в Telegram

Open in Telegram Каталог площадок Искать в ChatCrawler

A snapshot of an open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · What we do not do · Remove a page · Catalog