这篇教程C++ BASS_Free函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中BASS_Free函数的典型用法代码示例。如果您正苦于以下问题:C++ BASS_Free函数的具体用法?C++ BASS_Free怎么用?C++ BASS_Free使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了BASS_Free函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: SpectrumWindowProc// window procedureLRESULT CALLBACK SpectrumWindowProc(HWND h, UINT m, WPARAM w, LPARAM l){ switch (m) { case WM_LBUTTONDOWN: case WM_RBUTTONDOWN: case WM_MOUSEMOVE: if (w&MK_LBUTTON) SetLoopStart(LOWORD(l)*bpp); // set loop start if (w&MK_RBUTTON) SetLoopEnd(LOWORD(l)*bpp); // set loop end return 0; case WM_MBUTTONDOWN: BASS_ChannelSetPosition(chan,LOWORD(l)*bpp,BASS_POS_BYTE); // set current pos return 0; case WM_TIMER: InvalidateRect(h,0,0); // refresh window return 0; case WM_PAINT: if (GetUpdateRect(h,0,0)) { PAINTSTRUCT p; HDC dc; if (!(dc=BeginPaint(h,&p))) return 0; BitBlt(dc,0,0,WIDTH,HEIGHT,wavedc,0,0,SRCCOPY); // draw peak waveform DrawTimeLine(dc,loop[0],0xffff00,12); // loop start DrawTimeLine(dc,loop[1],0x00ffff,24); // loop end DrawTimeLine(dc,BASS_ChannelGetPosition(chan,BASS_POS_BYTE),0xffffff,0); // current pos EndPaint(h,&p); } return 0; case WM_CREATE: win=h; // initialize output if (!BASS_Init(-1,44100,0,win,NULL)) { Error("Can't initialize device"); return -1; } if (!PlayFile()) { // start a file playing BASS_Free(); return -1; } SetTimer(h,0,100,0); // set update timer (10hz) break; case WM_DESTROY: KillTimer(h,0); if (scanthread) { // still scanning killscan=TRUE; WaitForSingleObject((HANDLE)scanthread,1000); // wait for the thread } BASS_Free(); if (wavedc) DeleteDC(wavedc); if (wavebmp) DeleteObject(wavebmp); PostQuitMessage(0); break; } return DefWindowProc(h, m, w, l);}
开发者ID:Emulai,项目名称:ICT397-Project,代码行数:60,
示例2: BASS_StreamFreevoid TForm1::StartRecording(){ run=1; WAVEFORMATEX *wf; if (recbuf) { // free old recording BASS_StreamFree(chan); chan=0; free(recbuf); recbuf=NULL; // close output device before recording incase of half-duplex device BASS_Free(); } // allocate initial buffer and make space for WAVE header recbuf=(char *)malloc(BUFSTEP); reclen=44; // fill the WAVE header memcpy(recbuf,"RIFF/0/0/0/0WAVEfmt /20/0/0/0",20); memcpy(recbuf+36,"data/0/0/0/0",8); wf=(WAVEFORMATEX*)(recbuf+20); wf->wFormatTag=1; wf->nChannels=CHANS; wf->wBitsPerSample=16; wf->nSamplesPerSec=FREQ; wf->nBlockAlign=wf->nChannels*wf->wBitsPerSample/8; wf->nAvgBytesPerSec=wf->nSamplesPerSec*wf->nBlockAlign; // start recording rchan=BASS_RecordStart(FREQ,CHANS,0,RecordingCallback,0); if (!rchan) { //Error("Couldn't start recording"); free(recbuf); recbuf=0; return; } //MESS(10,WM_SETTEXT,0,"Stop");}
开发者ID:whoisjohngalt,项目名称:MicrophoneSpectrum,代码行数:35,
示例3: WndProcLRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){ switch (message) { case WM_CREATE: return 0; case WM_CLOSE: PostQuitMessage (0); // wind the frequency down... BASS_ChannelSlideAttribute(chan,BASS_ATTRIB_FREQ,1000,500); Sleep(300); // ...and fade-out to avoid a "click" BASS_ChannelSlideAttribute(chan,BASS_ATTRIB_VOL,-1,200); while (BASS_ChannelIsSliding(chan,0)) Sleep(1); BASS_Free(); FreeBASS(); return 0; case WM_DESTROY: return 0; default: return DefWindowProc (hWnd, message, wParam, lParam); }}
开发者ID:AdrianG130,项目名称:glidehqplusglitch64,代码行数:25,
示例4: QDEBUG/** * @brief No incoming parameters. Get data from RCHAN. Creating the stream file. If BASS_StreamCreateFile is failure colled BASS_Free(). * @param No params */void Widget::stopRecording(){ if (BASS_ChannelGetData(rchan, this->fft, BASS_DATA_FFT1024 | BASS_DATA_FFT_COMPLEX) == -1) { QDEBUG("Cannot get recbuf from rchan"); QDEBUG(BASS_ErrorGetCode()); } BASS_ChannelStop(rchan); rchan=0; ui->pushButton->setText(tr("Record")); // complete the WAVE header *(DWORD*)(recbuf+4)=reclen-8; *(DWORD*)(recbuf+40)=reclen-44; // enable "save" button ui->pushButton_3->setEnabled(true); // setup output device (using default device) if (!BASS_Init(-1,44100,0,NULL,NULL)) { QDEBUG(BASS_ErrorGetCode()); QDEBUG("Can't initialize output device"); return; } // create a stream from the recording if (chan=BASS_StreamCreateFile(TRUE,recbuf,0,reclen,BASS_SAMPLE_FLOAT)) { //ui->pushButton_2->setEnabled(true); // enable "play" button } else BASS_Free(); ui->pushButton->setEnabled(true);}
开发者ID:lovelycodex,项目名称:diplom,代码行数:33,
示例5: StopRecordingvoid StopRecording(){ BASS_ChannelStop(rchan); rchan=0; { // complete the WAVE header DWORD len=ftell(rfp),v; fseek(rfp,4,SEEK_SET); v=len-8; fwrite(&v,1,4,rfp); fseek(rfp,40,SEEK_SET); v=len-44; fwrite(&v,1,4,rfp); fclose(rfp); } MESS(10,WM_SETTEXT,0,L"Record"); // setup output device (using default device) if (!BASS_Init(-1,44100,0,NULL,NULL)) { Error(L"Can't initialize output device"); return; } // create a stream from the recording if (chan=BASS_StreamCreateFile(FALSE,L"bass.wav",0,0,BASS_UNICODE)) EnableWindow(DLGITEM(11),TRUE); // enable "play" button else BASS_Free();}
开发者ID:AlexanderMykulych,项目名称:Game_Dragons_Qt,代码行数:26,
示例6: StartRecordingvoid StartRecording(){ WAVEFORMATEX *wf; if (recbuf) { // free old recording BASS_StreamFree(chan); chan=0; free(recbuf); recbuf=NULL; EnableWindow(DLGITEM(11),FALSE); EnableWindow(DLGITEM(12),FALSE); // close output device before recording incase of half-duplex device BASS_Free(); } // allocate initial buffer and make space for WAVE header recbuf=malloc(BUFSTEP); reclen=44; // fill the WAVE header memcpy(recbuf,"RIFF/0/0/0/0WAVEfmt /20/0/0/0",20); memcpy(recbuf+36,"data/0/0/0/0",8); wf=(WAVEFORMATEX*)(recbuf+20); wf->wFormatTag=1; wf->nChannels=2; wf->wBitsPerSample=16; wf->nSamplesPerSec=44100; wf->nBlockAlign=wf->nChannels*wf->wBitsPerSample/8; wf->nAvgBytesPerSec=wf->nSamplesPerSec*wf->nBlockAlign; // start recording @ 44100hz 16-bit stereo if (!(rchan=BASS_RecordStart(44100,2,0,&RecordingCallback,0))) { Error("Couldn't start recording"); free(recbuf); recbuf=0; return; } MESS(10,WM_SETTEXT,0,"Stop");}
开发者ID:madnessw,项目名称:thesnow,代码行数:35,
示例7: StartRecordingvoid StartRecording(){ WAVEFORMATEX wf; if (chan) { // free old recording BASS_StreamFree(chan); chan=0; EnableWindow(DLGITEM(11),FALSE); // close output device before recording incase of half-duplex device BASS_Free(); } // open the output file if (!(rfp=_wfopen(L"bass.wav",L"wb"))) { Error(L"Can't create the file"); return; } // write the WAVE header fwrite("RIFF/0/0/0/0WAVEfmt /20/0/0/0",1,20,rfp); wf.wFormatTag=WAVE_FORMAT_PCM; wf.nChannels=1; wf.wBitsPerSample=16; wf.nSamplesPerSec=44100; wf.nBlockAlign=wf.nChannels*wf.wBitsPerSample/8; wf.nAvgBytesPerSec=wf.nSamplesPerSec*wf.nBlockAlign; fwrite(&wf,1,16,rfp); fwrite("data/0/0/0/0",1,8,rfp); // start recording @ 44100hz 16-bit mono if (!(rchan=BASS_RecordStart(44100,1,0,&RecordingCallback,0))) { Error(L"Couldn't start recording"); fclose(rfp); return; } MESS(10,WM_SETTEXT,0,L"Stop");}
开发者ID:AlexanderMykulych,项目名称:Game_Dragons_Qt,代码行数:33,
示例8: BASS_StreamFreevoid Music::Stop(){ if (mp3Strewam != NULL) BASS_StreamFree(mp3Strewam); BASS_Free();}
开发者ID:asmCode,项目名称:rw2014,代码行数:7,
示例9: print_bass_error/* Display error messages */void print_bass_error(const char *text){ printf("Error(%d): %s/n", BASS_ErrorGetCode(), text); BASS_Free(); exit(1);} /* print_bass_error */
开发者ID:cutecycle,项目名称:Rikachan-Android,代码行数:8,
示例10: BASS_StreamFree/** * @brief Starts the record and set default confuration for audio file. If start record is failure free RECBUF is comming. */void Widget::startRecording() { WAVEFORMATEX *wf; if (recbuf) { // free old recording; BASS_StreamFree(chan); chan=0; free(recbuf); recbuf=NULL; //ui->pushButton_2->setEnabled(false); ui->pushButton_3->setEnabled(false); // close output device before recording incase of half-duplex device; BASS_Free(); } // allocate initial buffer and make space for WAVE header; recbuf=(char*)malloc(BUFSTEP); reclen=44; // fill the WAVE header; memcpy(recbuf,"RIFF/0/0/0/0WAVEfmt /20/0/0/0",20); memcpy(recbuf+36,"data/0/0/0/0",8); wf=(WAVEFORMATEX*)(recbuf+20); wf->wFormatTag=1; wf->nChannels=2; wf->wBitsPerSample=16; wf->nSamplesPerSec=44100; wf->nBlockAlign=wf->nChannels*wf->wBitsPerSample/8; wf->nAvgBytesPerSec=wf->nSamplesPerSec*wf->nBlockAlign; // start recording @ 44100hz 32-bit stereo; if (!(rchan=BASS_RecordStart(44100,2,0,&RecordingCallback,0))) { QDEBUG(BASS_ErrorGetCode()); Error("Couldn't start recording"); free(recbuf); recbuf=0; return; } ui->pushButton->setEnabled(false);}
开发者ID:lovelycodex,项目名称:diplom,代码行数:38,
示例11: BASS_RecordFree/** * @brief Widget::~Widget Defaul destructor. */Widget::~Widget(){ // release all BASS stuff; delete fft; BASS_RecordFree(); BASS_Free(); delete ui;}
开发者ID:lovelycodex,项目名称:diplom,代码行数:11,
示例12: BASS_Freevoid ds::Audio::Release( ){ BASS_Free( ); FreeLibrary( Library ); Library = 0;}
开发者ID:Majchrzak,项目名称:Drops,代码行数:8,
示例13: killSoundStuffvoid killSoundStuff () { if (soundOK) { int a; for (a = 0; a < MAX_MODS; a ++) stopMOD (a); for (a = 0; a < MAX_SAMPLES; a ++) freeSound (a); BASS_Free(); }}
开发者ID:opensludge,项目名称:opensludge,代码行数:8,
示例14: RemoveAllCAudioManager::~CAudioManager(){ // Remove all audio RemoveAll(); // Free the BASS audio library BASS_Free();}
开发者ID:AgresivD,项目名称:ivmultiplayer,代码行数:8,
示例15: BASS_ChannelStopCSoundManager::~CSoundManager() { if (m_stream != NULL) { BASS_ChannelStop(m_stream); BASS_StreamFree(m_stream); } BASS_Free();}
开发者ID:AndreySeVeN,项目名称:ouzo-game,代码行数:8,
示例16: errorvoid error(char *reason){ free_textures(); if (music_file) BASS_StreamFree( music_file ); if (fp) file_close( fp ); BASS_Free(); d3dwin_close(); MessageBox(NULL, reason, NULL, MB_OK); exit(1);}
开发者ID:imclab,项目名称:Open-World-Domination,代码行数:9,
示例17: BASS_FreeHRESULT CBSoundMgr::Cleanup(){ for(int i=0; i<m_Sounds.GetSize(); i++) delete m_Sounds[i]; m_Sounds.RemoveAll(); BASS_Free(); return S_OK;}
开发者ID:segafan,项目名称:wmelite_hcdaniel-repo,代码行数:9,
示例18: OnShutdownint OnShutdown(WPARAM, LPARAM){ if (hBass != NULL) { BASS_Free(); FreeLibrary(hBass); } DeleteFrame(); return 0;}
开发者ID:kmdtukl,项目名称:miranda-ng,代码行数:10,
示例19: BASS_Stop/// <summary>/// Finalizes data./// </summary>void CSoundManager::Done (){ if (IsOk()) { BASS_Stop(); BASS_Free(); Release(); m_bIsOk = false; }}
开发者ID:BGCX261,项目名称:zombigame-svn-to-git,代码行数:13,
示例20: whileKNMusicBackendBass::~KNMusicBackendBass(){ //Free all the plugin to recover the memory. while(!m_pluginList.isEmpty()) { BASS_PluginFree(m_pluginList.takeFirst()); } //Close the bass. BASS_Free();}
开发者ID:Kreogist,项目名称:Mu,代码行数:10,
示例21: TestDlgProcBOOL APIENTRY TestDlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam) { switch (message) { case WM_CLOSE: // wind the frequency down... BASS_ChannelSlideAttribute(chan,BASS_ATTRIB_FREQ,1000,500); Sleep(300); // ...and fade-out to avoid a "click" BASS_ChannelSlideAttribute(chan,BASS_ATTRIB_VOL,-1,200); while (BASS_ChannelIsSliding(chan,0)) Sleep(1); BASS_Free(); FreeBASS(); EndDialog(hDlg,TRUE); break; case WM_INITDIALOG: CheckExtensionsProc(hDlg); break; case WM_COMMAND: switch(LOWORD(wParam)) { case IDC_DUMPINFO: DumpOGLDriverInformation(); break; case IDC_CREDITS: MessageBox(hDlg,"Programming and Core Design: Brad 'mudlord' Miller/nGFX: Brad 'mudlord' Miller/nSFX: Dubmood/Razor 1911/n/nSound system by Ian Luck/n/n(C) 2007-2008 Brad Miller ([email C++ BASS_StreamCreateFile函数代码示例 C++ BASS_ChannelSetAttribute函数代码示例
|