我正在编写一个程序,它不断生成声音效果并将它们输出到 SDL 回调函数中的声音缓冲区。现在我还需要在后台播放 MP3。我该怎么做呢?我需要自己解码 MP3 并与音效混合吗?
如有必要,我可以换到另一个图书馆。
您必须创建一个播放 MP3 的线程,您可以使用“pthread lib”,您只需在项目中添加 pthread lib(无需下载任何内容)
在一个线程中,您的歌曲将运行而不会干扰您的主
我给你写了一个使用线程的例子
#include <pthread.h>
void * Play(void * ptr)
{
/*
HERE PLAY your MP3
you can also do a loop inside your thread
*/
return NULL;
}
//in your main for example
int main()
{
//create a thread that play yout song in backround of main
pthread_t thread_play_MP3;
pthread_create(&thread_play_MP3,NULL,Play,NULL);
while(1)
{
// HERE : your main code
}
return 0;
}