Воспроизведение mp3, загруженного через curlib, прерываетсяC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Воспроизведение mp3, загруженного через curlib, прерывается

Сообщение Anonymous »

Я пытаюсь создать программу на языке C/C++, которая загружает mp3-файл с сервера, а затем воспроизводит звук через динамик. Проблема в том, что звук прерывается, когда я пытаюсь его воспроизвести. Количество времени, которое он обрезает, разное для каждого аудио, но оно постоянно в том, что один и тот же файл каждый раз обрезается в одно и то же время, даже при разных загрузках. Я делаю это, используя curl для загрузки файла, и в настоящее время пытаюсь воспроизвести его с помощью sdl2_mixer. Я работаю над raspi 4 и динамиком, подключенным через разъем. Я подключен через удаленный SSH vscode к моему компьютеру, где я могу видеть файл, и когда я воспроизвожу его из vscode, это полный звук, но когда я пытаюсь загрузить его с pi на компьютер, он не отображается в моих файлах. я новичок во всем этом, так что извините, если что-то не так или отсутствует.
Я пробовал воспроизводить файлы, используя систему (mpg123...) и еще 1 или 2 вещи, но они все обрываются во время игры. теперь у меня есть SDL2_mixer, но результаты те же. когда я захожу на сервер со своего компьютера через Google, я получаю правильный mp3, поэтому я думаю, что дело не в том, что я каким-то образом получаю неверные данные с сервера.
dt (datetime) предназначен для регистрации и именования.
// temporary file to store the response
string rf = program_id + "-" + dt + ".mp3";
FILE *rfptr = fopen(rf.c_str(), "wb");

// setup curl
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, rfptr);

// perform request
res = curl_easy_perform(curl);
if (res != CURLE_OK)
{
cerr

Подробнее здесь: https://stackoverflow.com/questions/782 ... -cut-short
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»