问题标签 [audioeffect]
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.
java - 带有 AudioEffect 的 Android MediaPlayer:出现错误 (-22,0)
好吧,这就是我的要求..
我有一个 WAV 文件,我想打开它,添加一些效果,然后播放。
我正在使用MediaPlayer播放文件,并使用PresetReverb添加一些效果。
这是我的代码
当我运行此代码时,我会登录 logcat(我没有记录。)
05-02 12:02:42.356: E/MediaPlayer(17250): 错误 (-22,0)
但是当我评论这些行时
MediaPlayer 正在成功播放文件。所以我的 WAV 文件没有问题。
有点失望,我尝试了EnvironmentalReverb,而不是 PresetReverb,
我也得到了同样的错误(错误(-22,0))。
因此,要么我遗漏了一些如此明显的东西,要么AudioEffect系列类(在文档或 api 本身中)存在一些问题。任何人都可以解释一下吗?
编辑:我忘了补充,当我调试代码时,错误被记录下来
被执行。在发布上面的代码段之前,我已经删除了异常处理部分。但我很肯定,执行时没有发现异常。
再次编辑:
从这个链接我了解到错误 -22 是 PVMFErrLicenseRequiredPreviewAvailable
我用 PVMFErrLicenseRequiredPreviewAvailable 搜索了一下,得到了这个文件。在第 87 页
14.10.5 没有有效许可的 DRM 内容预览
第 14.10.3 节中涵盖的场景的一个变体是没有有效许可证来完整播放一段内容,但可以预览的情况。这种情况可能是最初分发内容的常用方式,以便消费者在决定购买完整许可证之前可以预览它。在这种情况下,Init() 方法将返回代码 PVMFErrLicenseRequiredPreviewAvailable,这表明完整播放需要许可证,但预览可用。为了播放预览,应用程序必须删除当前源,然后将其添加回来,并在本地数据源上设置一个标志以指示预览模式。
现在我播放的 WAV 文件是由我使用 android SDK 本身中的 SpeechToText 工具生成的。我不知道播放此文件的许可证是什么。
android - 即使 api >= 9 也不总是支持均衡器?
在启用均衡器功能之前,我检查 api 级别以确保它等于或大于 9。从我从用户那里获得的报告中,似乎无论如何都会抛出一些异常:
代码 eq = new Equalizer(0, mp.getAudioSessionId())
可以提出:
并且代码eq.getBandLevelRange()
可以引发:
我不知道是否有解决方案,如果没有,我可以捕获这些异常并禁用均衡器,但我需要知道究竟是什么原因造成的,这样我就可以通知我的用户而不会让他们感到沮丧。
谢谢你的帮助
java - 如何编辑音频缓冲区
我创建了一个音频缓冲区并想在播放此声音之前对其进行编辑。我的问题是当数字大于 1 时我会听到很大的噪音。这意味着当我不编辑缓冲区(数据)时,我只能播放没有噪音的缓冲区。背景信息:数据是一个录音缓冲区,包含以下信息:
我的效果类:
ios - 在 2 个 AudioUnit 之间添加一个 AULowPass 过滤器
我已经修改了 Tim Boldstad http://timbolstad.com/2010/03/16/core-audio-getting-started-pt2/提供的代码(愿上帝保佑他),并添加了一个小滑块以便能够更改输出音调频率从 40Hz 到 200000Hz。我现在希望能够在生成的音调上使用 LPF。
首先,any1 是否有详细的指南来解释如何执行此操作。我试过简单地在两者之间添加一个节点,但它不起作用,显然,我需要将 16 位整数样本转换为浮动 8.24 格式,然后将音频样本输入提供给过滤器,然后我必须转换它回到 16 位整数。这是问题吗?还是我错误地连接了节点?我应该在哪里设置滤波器截止频率和其他参数?
谁能解释一下 AudioUnitGetProperty 的作用?有关这些主题的 Apple 文档非常零散且毫无价值:(
c++ - error: cannot allocate an object of abstract type 'mySynth' VST Programming
For a project, I am being asked to create a VST
using the Steinberg SDK
, i'm using version 2.4.
The issue that I'm having is error:
cannot allocate an object of abstract type 'mySynth'
.
When attempting to compile, the error brings me to this section of code:
I'm a beginner to both c++ and VST
programming, I've had no issues compiling the sample AGain
and ADelay
, as well as the vstxSynth
. This is the first attempt of my own, and its really confusing me, from looking at the sample code i cannot seem to find any reason as to why this shouldn't work.
any help would be greatly appreciated. As this is a major learning curve for me, i would appreciate if you could apply with a simplest explanations as possible.
Thankyou :)
android - wav文件上的Android音频效果并保存
要求
Android 在 sd 卡中打开一个 .wav 文件,播放它,添加一些效果(如回声,音高转换等),保存文件。简单的 :(
我知道的
- 我可以使用 Soundpool 或 MediaPlayer 打开和播放文件。
- 我可以在使用两者的同时发挥一些效果。即对于媒体播放器,我可以设置环境混响效果。使用 SoundPool 我可以设置播放速率,这有点像音高转换。我现在成功地实施了这些。
- 但是这些类中的任何一个都没有任何方法来保存播放的文件。所以我只能播放,我不能保存有效果的音乐。
我想知道的
- 除了 MediaPlayer 或 SoundPool 之外,是否还有其他感兴趣的类别。不用管保存,你只是提到类,我会和他们一起研究保存文件。
- 任何可以添加效果和保存的第三方库?如果它是开源和免费的,那就太高兴了。但是,即使它是专有的,也要提及它们。
- 我可以研究的任何其他领域。OpenAL 是否支持语音过滤和语音定位?它可以与Android一起使用吗?
准备做肮脏的工作。请把路借给我..
编辑:
进行了更多搜索,然后遇到了AudioTrack。但它也不支持保存到文件。所以那里也没有运气..编辑
好的,如果我自己做呢?从wav文件中获取原始字节,然后进行处理。我使用 AudioRecord 录制了一个 wav 文件,得到了一个 wav 文件。是否有任何资源描述低级音频处理(我的意思是字节级别)。编辑
好吧,赏金时间到了,我正在为我得到的唯一答案提供赏金。7天后,我明白的是- 我们无法保存使用 MediaPlayer、AudioTrack 等播放的内容。
- 没有可供使用的音频处理库。
- 您可以获取原始 wav 文件,并自己进行音频处理。答案为读取/写入 wav 文件提供了一个很好的包装类。一个很好的 java 代码来读取和改变 wav 文件的音调在这里。
android - 支持的音频效果
我正在尝试确定正在运行的设备支持哪些 OpenSL ES 效果。
Andorid SDK 的 AudioEffect 类提供了这样做的方法。
public static Descriptor[] queryEffects ()
我的问题是,鉴于该方法返回的所有AudioEffect.Descriptor,我不知道如何确定其中一个是否真的是我需要的。
公共 UUID 类型
在 API 级别 9 中添加 表示效果的通用类型(均衡器、低音增强...)。UUID 对应于此类效果的 OpenSL ES 接口 ID。
type属性似乎是我应该使用的属性,但我找不到指定所有效果类型 UUID 的 OpenSL ES 参考。
你知道我在哪里可以找到吗?
我可以找到在设备上测试方法结果的 UUID,但是,
我可以假设 UUID 在每个设备上对于特定类型的效果总是相同的吗?
提前致谢
android - Android SoundPool + AudioEffects
I am currently using the SoundPool for gapless looping over short sample clips - works good so far.
Now I would like to add effects to one or both channels (BassBoost or PresetReverb).
Can I do this with the SoundPool?
Do I have to use Audiotrack instead? (MediaPlayer would be too heavy).
Can the Audiotrack loop gapless?
Thanks, paper.
android - Android 的 PresetReverb 不起作用?
我正在开发一个支持 Android 内置音频效果(如 EnvironmentalReverb)的小型音频播放器。到目前为止,我在启动它而不崩溃时遇到了问题,我通过向 AndroidManifest.xml 添加缺少的权限解决了这个问题。现在的问题是我只是没有听到任何混响。
这是我的代码:
你知道问题可能是什么吗?
android - Android:播放下一首歌曲时失去均衡器控制
我已经使用单例均衡器成功地将音频效果应用到 MediaPlayer,但是当播放其他歌曲时,音频效果不再应用,尽管我仍然可以使用该单例均衡器来 setBandLevel()、usePreset() 和 hasControl() 方法仍然返回 true。
这是我如何使用均衡器和 MediaPlayer
你能告诉我为什么我失去了均衡器控制,尽管我已经为新的 MediaPlayer 实例设置了相同的音频会话 ID?谢谢你。