- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不知道是我的问题还是我发现了 AKWaveTable 的某种问题。
基本上,当我加载一个音频文件(一个简短的文件,大约 7 秒)并将其分配给 AKWaveTable 进行采样,然后我尝试用另一个文件替换它时,新文件被加载,但分配的内存不断增长.
伪代码如下:
class Element {
var player:AKWaveTable?
//other stuff
init(_ path:String){
let temp_file = try AKAudioFile(readFileName: path)
self.player = AKWaveTable(audioFile: temp_file)
}
}
在我的代码中的某个时刻:
//declare array of class Element
var sample:[Element] = []
//and put something into it's elements
sample[n] = Element("path/to/file.wav")
//do some stuff
//then replace that sample with another file
sample[n] = Element("path/to/another/file.wav")
使用 AKPlayer 完成的相同过程工作正常,但我真的需要 AKWaveTable 以获得更好的性能。
在连续替换音频样本后,分配的内存增长非常快,高达 900MB!
我做错了什么?任何帮助,将不胜感激,谢谢!
该应用适用于 MacOS。
swift 4.2
音频套件 4.5.2
Xcode 10.0
MacOS High Sierra 10.13.6
最佳答案
还有一点需要指出,继续创建新的 AKWavetables 可能不是一个好主意。例如,在音频引擎运行的情况下,您无论如何都无法做到这一点。
如果可以,将最大大小设置为最长的样本,然后在需要时使用 load(file: AKAudioFile) 加载新文件。
漏洞已经修复,将在下一个版本的 AK 中出现。
谢谢你
关于swift - AudioKit AKWaveTable 内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52898795/
有人知道为什么我的代码中似乎无法使用 AudioKit 框架吗?我已将框架添加到我的项目中,但是当我尝试导入 AudioKit 时,我只是得到“没有这样的模块 AudioKit”。我有一个完全更新的
通过AKFrequencyTracker,我可以捕获频率。但是如果吉他弹奏三根弦,我可以同时获得这三个频率。我的意思是我们可以有多个频率输出吗? 最佳答案 一句话,没有。抱歉,我们目前没有和弦音高跟踪
我正在开发的应用程序需要在声音链中动态添加/删除/重新排列组件。 到目前为止,我主要在大多数组件上使用 .disconnectOutput() 方法,然后重新连接所有内容。这在大多数情况下都有效,但有
AudioKit 似乎与运行它的硬件紧密结合。例如,如果您将耳机插入计算机,在模拟器上运行简单的 let mic = AKMicrophone() 可能会崩溃。 有什么方法可以配置 AudioKit
换句话说,我需要两个单独的 ADSR 包络用于 OSC 库和滤波器(截止)。我如何通过按音符来同步这两件事? AMOscillatorBank(振幅)->lowPassFilter(截止)->Audi
我正在熟悉 AKMusicTrack 函数,特别是用于从给定序列中清除音符数据的函数。 我可以看到 clearRange() 将清除开始和结束范围之间的音符数据,而 clearNote() 将删除该音
我正在尝试运行 AudioKit.start()在我的viewDidAppear方法,但我收到以下错误: Module 'AudioKit' has no member named 'start' 我
我有一个使用The Amazing Audio Engine 2构建的大型项目。我一直在努力集成 Inter-App-Audio,并希望迁移到 AudioKit 3。 挣扎,意思是,它集成了,但是一旦
我正在使用 Cocoapods 1.5.0、Xcode 9.3、Swift 4.1 和 AudioKit 4.2.2。 我正在创建一个开源 Swift 框架,用于教授 Swift 编码。为了生成声音,
我有一个 iOS 应用程序在 AudioKit 的 iOS 版本中运行良好。我想尝试通过加入 AudioKit.xcframework 来移植到 macOS w Catalyst。这是我所做的 从源代
我有一个具有两个功能的应用程序。播放 AKMetronome 并允许在应用程序不在前台时进行后台播放。另一个是使用 AKMicrophone 的调谐器功能,它只需要在应用程序处于前台时处于事件状态。这
我一直在尝试将 AudioKit 添加到 Xcode 中的项目中,但无济于事 - 即使只是为了将 AudioKit 导入我的 View Controller 而创建的空白项目也会引发 2711 错误,
我在 iOS 11.2 上使用 AudioKit 4.0.4 我使用的代码几乎与 MicrophoneAnalysis 示例项目相同。 class FrequencyProcessor { v
任何可以帮助解决使用振荡器的滑音效果问题。这是代码的一部分,我需要每个周期振荡器在新的随机频率上发声。但是频率随着滑音效果平滑地改变。如何去除滑行效果? 对于 _ 在 1...20 { oscilla
我正在制作一个使用节拍器播放同步音频循环的应用程序。例如,我可能有 3 个这样的文件: bass_60bpm.m4a drums_60bpm.m4a guitar_60bpm.m4a 还有节拍器声音
是否可以通过麦克风进行实时音调校正以获得类似自动调谐的效果?如果可以,有人可以发布一个示例,或者我们可以向 repo 中添加一个示例吗? 这些链接可能有帮助吗? https://github.com/
如何重现 我将“Callback Instrument” Playground (有效)复制到一个新项目中。通过 pod 安装 AudioKit(版本 4.8) 我删除了回调的实现,只放置了 prin
我是AudioKit和数字音频的新手,所以我确定肯定缺少某些东西。 我试图通过获取每个回调的时间戳来从AKMetronome获得准确的时间。时机似乎已经以某种方式量化了,我不知道那是什么。 示例:如果
在当前序列开始播放之前需要播放 1 或 2 个小节进行倒数。只需点击一下即可计入。 能够做类似的事情会很酷 player.sequencer.setTime(MusicTimeStamp(-4))
音频套件 4.9.3iOS 11+ 我正在开发一个项目,其中用户使用麦克风在设备上录音,并且即使应用程序位于后台,设备也会继续录音。这工作正常,但是当接到电话时我收到 AudioKit 错误。我认为这
我是一名优秀的程序员,十分优秀!