C# BASS音频库 + DSP插件使用方法

正确加载插件会显示如下图

C# BASS音频库 + DSP插件使用方法

 

 

 

DSP插件需要BASS库支持,在debug目录加入bass_wadsp.dll扩展库

C# BASS音频库 + DSP插件使用方法

 

 

 

完整代码如下:

 

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingUn4seen.Bass;usingUn4seen.Bass.AddOn.WaDsp;namespaceWindowsFormsApp3{publicpartialclass Form3 : Form { public Form3() { InitializeComponent(); } privatevoidForm3_Load(object sender, EventArgs e) { //-1 表示 默认设备输出 //44100 表示 输出采样率 //BASS_DEVICE_CPSPEAKERS 表示输出模式if(!Bass.BASS_Init(-1,44100, BASSInit.BASS_DEVICE_CPSPEAKERS, this.Handle)) { MessageBox.Show("出错了,"+ Bass.BASS_ErrorGetCode().ToString()); } } stringfileName;intstream;intdspHandle;int dspModule = 0;privatevoidbtn_play_Click(object sender, EventArgs e) { OpenFileDialog o =newOpenFileDialog();if (o.ShowDialog() == DialogResult.OK) { fileName =o.FileName;//第一个参数是文件名,//第二个参数是文件流开始位置,//第三个是文件流长度 0为使用文件整个长度, //最后一个是流的创建模式 stream = Bass.BASS_StreamCreateFile(fileName, 0L,0L, BASSFlag.BASS_DEFAULT); Bass.BASS_ChannelPlay(stream, true);//开始播放 } } privatevoidbtn_load_Click(object sender, EventArgs e) { OpenFileDialog o =newOpenFileDialog();if (o.ShowDialog() == DialogResult.OK) { BassWaDsp.BASS_WADSP_Init(this.Handle); dspHandle = BassWaDsp.BASS_WADSP_Load(o.FileName, 5,5,100,100,null); BassWaDsp.BASS_WADSP_Start(dspHandle, dspModule, 0);int hDsp = BassWaDsp.BASS_WADSP_ChannelSetDSP(dspHandle, stream, 1); } } privatevoidbtn_dsp_set_Click(object sender, EventArgs e) { if (dspHandle >= 0 && dspModule >= 0) { BassWaDsp.BASS_WADSP_Config(dspHandle); } } privatevoidbtn_dsp_stop_Click(object sender, EventArgs e) { BassWaDsp.BASS_WADSP_Stop(dspHandle); } privatevoidForm3_FormClosing(object sender, FormClosingEventArgs e) { Bass.BASS_ChannelStop(stream); //停止播放 BassWaDsp.BASS_WADSP_Stop(dspHandle); } }}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwspdw.html