0

我正在编写一个程序,它不断生成声音效果并将它们输出到 SDL 回调函数中的声音缓冲区。现在我还需要在后台播放 MP3。我该怎么做呢?我需要自己解码 MP3 并与音效混合吗?

如有必要,我可以换到另一个图书馆。

4

1 回答 1

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;
}
于 2013-08-23T12:25:24.553 回答