当前位置: 首页>>代码示例>>C++>>正文


C++ Music::Free方法代码示例

本文整理汇总了C++中Music::Free方法的典型用法代码示例。如果您正苦于以下问题:C++ Music::Free方法的具体用法?C++ Music::Free怎么用?C++ Music::Free使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Music的用法示例。


在下文中一共展示了Music::Free方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: ForkedProcess

void ForkedProcess (const char * file, float fade, int fd) {
    printf ("initing device drivers\n");
    if (!FSOUND_Init(44100, 64, FSOUND_INIT_GLOBALFOCUS))
    {
        printf("SOUND Error %d\n", FSOUND_GetError());
        exit(1);
    }
    Music mus;
    mus.Load(file);
    if (mus.m) {
        mus.Play(fade);

        printf ("f0rked playing %s\n",file);
        while (!INET_BytesToRead(fd)) {
            if (AllDone) {
                printf ("song done\n");
                mus.Free();
                return;
            }
        }
        mus.Stop();
        mus.Free();
    }
    return;
}
开发者ID:bsmr-games,项目名称:Privateer-Gemini-Gold,代码行数:25,代码来源:soundserver.mac.cpp

示例2: Play

    /*
     *
     *  void Play(float fadeout, float fadein, Music &oldmusic){
     *   if (!m) return;
     *   FSOUND_Stream_SetEndCallback(m,endcallback,0);
     *   FSOUND_Stream_SetSynchCallback(m, endcallback, 0);
     *   channel = FSOUND_Stream_PlayEx(FSOUND_FREE, m, NULL, 1);
     *   FSOUND_SetPaused(channel, 0);
     *   SetVolume(0);
     *   if (fadeout*100>1) {
     *       for (unsigned int i=0;i<fadeout*100;i++) {
     *           SetVolume(i/(float)fadeout);
     *           oldmusic.SetVolume(((float)fadeout-i)/fadeout);
     *           micro_sleep (10000);
     *       }
     *   }
     *   SetVolume(1);
     *   oldmusic.Stop();
     *  }
     *  void SetVolume(float vol) {
     *   if (m) {
     *       F_API FSOUND_SetVolume(this->channel,(int)(vol*GetMaxVolume()));
     *   }
     *  }
     */
    void Play( float fadeout, float fadein, Music &oldmusic )
    {
        if (!m) return;
        FSOUND_Stream_SetEndCallback( m, endcallback, 0 );
        FSOUND_Stream_SetSynchCallback( m, endcallback, 0 );
        channel = FSOUND_Stream_Play( FSOUND_FREE, m );
        SetVolume( 0 );
        if (fadeout*10 > 1)
            for (unsigned int i = 0; i < fadeout*10; i++) {
                float ratio = ( (float) i )/(fadeout*10.);
                SetVolume( ratio );
                oldmusic.SetVolume( 1-ratio );
                micro_sleep( 10000 );
            }
        oldmusic.Stop();
        oldmusic.Free();

        SetVolume( 1 );
    }
开发者ID:vegastrike,项目名称:Vega-Strike-Engine-Source,代码行数:44,代码来源:soundserver.mac.notworking.cpp


注:本文中的Music::Free方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。