Я хочу играть в mp3-файлы в Интернете, не загружая их. Таким образом, я использую Libcurl, чтобы получить его как поток в памяти, как это:Воспроизвести mp3-файл в C
static size_t use_data(void *ptr, size_t size, size_t nmemb, FILE *stream) {
/* stream is NULL */
/* What to do with the stream of data ? */
}
CURLcode download_file(const char *url, const char *path, curl_progress_callback progress) {
CURL *curl;
CURLcode res = 0;
FILE *fp;
if ((curl = curl_easy_init())) {
if (progress) {
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0);
curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, progress);
}
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, use_data);
res = curl_easy_perform(curl);
/* always cleanup */
curl_easy_cleanup(curl);
fclose(fp);
}
return res;
}
Как я могу разобрать поток в памяти для воспроизведения звуков?
Есть много возможных ответов на ваш вопрос. –
@iharob: Ну, как кажется, я не получаю ответов. –
Да, потому что вы должны задать конкретный вопрос. И ваш вопрос очень неоднозначен. Вы искали в библиотеках, которые могут помочь воспроизводить mp3? –