问题标签 [bass]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
audio - 流和样本之间有什么区别?
在 BASS 中,我可以从文件加载流并播放它,或者我可以对文件进行采样并播放样本。
我应该考虑哪些差异和影响?
c++ - Raspberry Pi 1 B 上的 c++ bass 和 rapidXml
在为孩子们做的一个项目中,我有一个奇怪的行为。我想用 rapidXml 解析一个 xml,并在我的 RasPi1B 上用贝司播放 mp3。如果我只是在一个主功能中按下它,一切都很好。但是,只要我将代码放入另一个类,我的 xml 数据就会损坏。我只在私人时间使用 c++ 并使用托管语言,所以我不太喜欢 c++ 中的内存管理。所以我希望你们能帮助我(和我的孩子)解决这个问题。当然,我可以在一节课上做所有事情,但是大脑会试图让我窒息而死;-)
首先在一个主函数中:
然后(几乎)与 main 函数和类/标题相同:
编译:
我的 test.xml 看起来像这样:
这是sudo bin/test的输出
以及sudo bin/test2的输出:
对不起,很长的帖子!我希望有一个人可以帮助我。我真的很失落......提前谢谢!
android - 蹩脚的mp3编码器/解码器在android中的高电池使用率
我开发 mp3 录音机应用程序并使用 bass 和 lame 库来录制 wav 并将其转换为 mp3 文件。
当我录制 mp3 文件时,android 会显示一条通知,上面写着
“这个应用程序使用了太多电池并关闭它”。
如何配置跛脚以使用更少的电池或如何配置应用程序以阻止 android 电池使用通知?
c++ - 类内完成后的c ++ BASS回调
我在 C++ 中使用 BASS 库时遇到了一点问题。播放效果很好,但我想在播放完当前文件后跳到下一个文件。对于这种需要,BASS 提供了回调,我正在使用它(初始化已经完成)......
富.h:
Foo.cpp:
所以,这行得通,但感觉很难看,有一个函数而不是一个称为回调的方法,并反对endOfFile作为公共方法。它应该是私人的。所以我尝试使用一个方法作为回调......
酒吧.h:
酒吧.cpp:
但这不能编译:-(
我猜你看到了区别 (Bar::) 而不是 (*)。所以问题很清楚,但遗憾的是我没有足够的技能来解决它。我只在私人时间做 c++,我对回调、类型和范围没有那么深入。你们能帮我找到一个没有公共方法的工作解决方案吗?
提前致谢!
致命的
c# - 在 C# 中使用 VLC 从正在录制的 WAV 音频创建 http 音频流
我正在使用NAudio
库来连续记录系统麦克风输入。
当数据可用时,有一个事件处理程序将从记录流中获取数据。
我能够创建一个音频 (mp3) HTTP 流,并在我的系统中安装了 VLC 播放器 - 使用现有的音频文件。
在上面的代码中,我在源目录中有一个录制完成的最终音频文件——C:\Recording\Audio\1789846.wav
我尝试使用活动文件创建流 - 记录器不断更新该文件。(SourceStreamDataAvailable
函数将字节写入此文件)。我在上面使用了相同的代码。
它在几秒/分钟后停止流式传输。(我认为它只是从最初可用的数据创建一个流,它没有使用更新的文件/内容。)
- 有没有办法解决这个问题??
- 是否可以使用我使用录音机从麦克风捕获的字节创建 HTTP 音频流
NAudio
?无需创建文件。
在SourceStreamDataAvailable
函数内,发送流可用的任何内容,并不断更新它。
我已经做了足够的谷歌搜索来实施这个解决方案,但没有运气。我可以使用 LibVlc 或任何用于 c# 的 VLC 开源库。
c++ - C++ char* 相对文件路径?(Qt)
我正在尝试在可执行文件中播放 .mod 音频文件。我正在使用第 3 方 BASSMOD .dll。当我提供文件的完整路径时,我可以播放音频文件,但在提供相对路径时无法播放。这里有一些片段。
主文件
bassmod.h(相关片段)
我关心的功能是BASSMOD_MusicLoad
. 就这个项目而言,.mod 文件播放没有问题。但是,当我尝试将 .mod 文件的绝对路径更改为相对路径(“music.mod”)时,文件无法播放。这是为什么?我在与可执行文件相同的目录以及包含 .pro 文件的目录中都有 .mod 文件——这似乎不是问题。
另外,也许我遗漏了一些与如何在 C++ 中打开文件有关的内容。看起来该MusicLoad
函数要求第二个参数是 type void*
。我敢肯定有很多不同的事情我可以在这里做得更好。理想情况下,我希望能够file
存储 .mod 文件的相对路径并让它以这种方式播放,这样我就不必硬编码绝对路径。在一个完美的世界中,我想file
在我的 resources.qrc 中提供一个 .mod 文件的路径,但是我必须使用QFile
,我相信这不会起作用,因为我需要类型为 void*。
对初学者的任何帮助将不胜感激。
编辑01:谢谢大家的帮助!我让它工作(至少使用相对文件路径)。有两种方法可以做到这一点。这是我所做的以及我如何测试它:
第一种情况假设 BASSMOD(或您正在使用的任何外部 dll)不处理相对路径。
这些是我设置的测试项目。当我运行时BASSMOD_MusicLoad(FALSE,(void*)file,0,0,BASS_MUSIC_RAMPS);
,它按预期工作。那是我对完整的绝对路径进行硬编码的时候。
当我跑BASSMOD_MusicLoad(FALSE,(void*)raw,0,0,BASS_MUSIC_RAMPS);
的时候,它没有用。所以我决定打印出所有东西的值,看看它在哪里搞砸了:
...返回:
注意区别?当我硬编码文件的完整路径时,我发现(感谢@FrankOsterfeld 和@JasonC)当前工作目录实际上不是 .exe (/debug) 或 .pro 文件所在的位置。它实际上与 Makefile 位于同一目录中。
所以我把它改成了这个:QFileInfo info("./debug/x.m");
它工作了。
尽管问题最终是我不知道当前工作目录在哪里,@Radek、@SaZ 和 @JasonC 的解决方案帮助找到了另一种解决这个问题的方法(另外它向我展示了如何获取工作目录和转换类型之间)。对于想要使用 QFileInfo 来确定您在文件系统中的实际位置的人来说,这是一个很好的参考。如果我使用的 dll 不能很好地处理相对路径,我会使用这个解决方案。然而...
我想知道是否可以将相同的解决方案应用于我的原始代码(不使用 QFileInfo 和转换类型等)。我假设 BASSMOD 没有处理开箱即用的相对路径。我错了。我将file
变量更改为const char* file = "./debug/x.m";
它工作!
谢谢大家的帮助!
但是,我仍然希望使用 Qt 资源文件中的 music.mod 让它工作。但是,根据回复,除非您使用的第 3 方库支持 Qt 资源系统,否则这似乎是不可能的。
c# - Marshal bool return 作为自定义 Return
我目前正在.Net 中包装 Un4seen BASS 音频库
BASS 函数返回一个bool
值,如果返回 false,则需要检查LastError
以了解发生的错误。
所以我实现了一个Return<T>
类来使其面向对象:
现在对于像这样的方法:
相反,我想返回一个Return<bool>
,以便用户可以轻松地检查ErrorCode
面向对象的方式。
现在,您可能会说我创建了另一种方法,例如:
但是,问题是已经有数以千计的 DllImports 并且为所有这些都做这将是一场噩梦。
所以,我尝试了:
它编译了,但根本不起作用。
任何人都可以请指出我错在哪里,或者这样的事情甚至可能。
提前致谢。
c# - Bass.dll 上的 BadImageFormatException
一年前,我在一个 mp3 项目中使用了 bass.dll。那时我使用的是 Windows 7、32 位。现在我在另一个项目中,我需要再次使用 bass.dll。这次我使用的是 Windows 8.1,64 位。
Bass_Start() 给了我这个例外以及所有其他功能
我正在使用DllImport
在我的项目中导入这些函数和 bass.dll。
除了这些 64 位窗口给我的数千个错误之外,我还缺少什么?这是我第一次使用 64 位,我真的很后悔...
c# - Bass.dll 没有找到 basswasapi.dll
我刚刚使用 BASS API 在 C# 中下载了频谱分析仪的 [代码] [1]。我下载了 Dll,添加到解决方案中,但是当我尝试运行该项目时,它说它找不到 DLL basswasapi。我试图在互联网上搜索以下载此文件,但我发现所有这些文件,当放入项目文件时,它会显示一个新错误,说它找不到名为 BASS_WASAPI_GetCPU 的入口点。我现在正在使用 Windows 10 运行,我不知道它是否与错误有关。如果你们中的任何人可以将 basswasapi dll 发送给我,或者只是告诉我在哪里可以找到它,我将非常感激。
谢谢。
代码: http: //www.codeproject.com/Articles/797537/Making-an-Audio-Spectrum-analyzer-with-Bass-dll-Cs
错误:http: //i.stack.imgur.com/YhKA0.png
delphi - BASS/LAME Enc:如何正确继续 MP3 录音/编码?
我有一个应用程序,它可以从麦克风录制音频,并BASSenc
使用LAME
. 如果您退出应用程序并稍后重新启动它,您可以加载并继续(录制)会话。
到目前为止一切正常。但是,我想知道继续录制/编码流的正确方法是什么?
目前我使用 打开旧文件,启动记录和编码器并使用和BASS_StreamCreateFile
读取整个文件以“传输”以前的数据。BASS_ChannelGetData
BASS_Encode_Write
我担心这可能不是“正确”的方式?录音越大,此步骤所需的时间就越长。而且我也认为它是有损的,因为我加载了有损 MP3 并重新编码,丢失了更多信息。不是吗?还是我错了?
有没有办法告诉 BASSenc / LAME 只使用现有文件并直接向其附加内容?还是我已经使用了正确的方法?
(德尔福 XE7、Windows、VCL)