受控低音 MP3 播放

发布于 2025-01-18 09:54:13 字数 904 浏览 4 评论 0原文

我设法通过 Managedbass 在不同的输出上播放不同的 .wav 源,但我只能以 wav 格式播放它们。 单独的 mp3 播放正常(当我只是将 .mp3 发送到声卡时),但是当我尝试将它们指向不同的输出时,没有运气。

string file1 = @"F:\test1.wav";
string file2 = @"F:\test2.wav";
string file3 = @"F:\test3.wav";
string file4 = @"F:\test4.wav";
Bass.Init(-1, 44100, DeviceInitFlags.Default, IntPtr.Zero); 
streamFL = Bass.CreateStream(file1, 0L, 0L, BassFlags.SpeakerFrontLeft); 
streamFR = Bass.CreateStream(file2, 0L, 0L, BassFlags.SpeakerFrontRight); 
streamSL = Bass.CreateStream(file3, 0L, 0L, BassFlags.SpeakerRearCenterLeft); 
streamSR = Bass.CreateStream(file4, 0L, 0L, BassFlags.SpeakerRearCenterRight);

之后,就可以玩了。

Bass.ChannelPlay(streamFL, false);
Bass.ChannelPlay(streamFR, false);
Bass.ChannelPlay(streamCL, false);
Bass.ChannelPlay(streamCR, false);

对于 .wav 文件,它的工作原理如下,但当我将文件更改为 .mp3 时,它不起作用。有什么想法吗?

I managed to play different .wav sources play on different output via Managedbass but I can only play them in wav format.
Solo mp3 play is working(when I just send the .mp3 to soundcard) but when I try to point them to different outs, no luck.

string file1 = @"F:\test1.wav";
string file2 = @"F:\test2.wav";
string file3 = @"F:\test3.wav";
string file4 = @"F:\test4.wav";
Bass.Init(-1, 44100, DeviceInitFlags.Default, IntPtr.Zero); 
streamFL = Bass.CreateStream(file1, 0L, 0L, BassFlags.SpeakerFrontLeft); 
streamFR = Bass.CreateStream(file2, 0L, 0L, BassFlags.SpeakerFrontRight); 
streamSL = Bass.CreateStream(file3, 0L, 0L, BassFlags.SpeakerRearCenterLeft); 
streamSR = Bass.CreateStream(file4, 0L, 0L, BassFlags.SpeakerRearCenterRight);

After that, for playing.

Bass.ChannelPlay(streamFL, false);
Bass.ChannelPlay(streamFR, false);
Bass.ChannelPlay(streamCL, false);
Bass.ChannelPlay(streamCR, false);

It works like this for .wav files but when I changed files to .mp3 it doesn't works. Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情栀口红 2025-01-25 09:54:13

想通了。

streamFL = Bass.CreateStream(file1, 0, 0, BassFlags.Mono | BassFlags.SpeakerFrontLeft | BassFlags.);

为命令添加了单声道标志。

Figured it out.

streamFL = Bass.CreateStream(file1, 0, 0, BassFlags.Mono | BassFlags.SpeakerFrontLeft | BassFlags.);

added mono flags for the command.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文