您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ BASS_Free函数代码示例

51自学网 2021-06-01 19:48:58
  C++
这篇教程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_StreamFree

void 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: WndProc

LRESULT 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: StopRecording

void 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: StartRecording

void 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: StartRecording

void 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_StreamFree

void 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_Free

void ds::Audio::Release( ){	BASS_Free( );	FreeLibrary( Library );	Library = 0;}
开发者ID:Majchrzak,项目名称:Drops,代码行数:8,


示例13: killSoundStuff

void 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: RemoveAll

CAudioManager::~CAudioManager(){	// Remove all audio	RemoveAll();	// Free the BASS audio library	BASS_Free();}
开发者ID:AgresivD,项目名称:ivmultiplayer,代码行数:8,


示例15: BASS_ChannelStop

CSoundManager::~CSoundManager() {	if (m_stream != NULL) {        BASS_ChannelStop(m_stream);		BASS_StreamFree(m_stream);	}	BASS_Free();}
开发者ID:AndreySeVeN,项目名称:ouzo-game,代码行数:8,


示例16: error

void 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_Free

HRESULT 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: OnShutdown

int 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: while

KNMusicBackendBass::~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: TestDlgProc

BOOL 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函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。