我正在编写一个程序,它不断生成声音效果并将它们输出到SDL回调函数中的声音缓冲区。现在我也需要在后台播放MP3。我该怎么做呢?我是否需要解码MP3并将其与声音效果混合在一起?
如有必要,我可以换到另一个图书馆。
答案 0 :(得分:0)
你必须创建一个播放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;
}