问题标签 [avaudiofile]

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.

0 投票
2 回答
577 浏览

ios - iOS Swift malloc 错误

我想在 iOS 上实时录制音频,分析原始音频数据并保存部分录制的数据。我正在使用以下代码记录数据:https ://gist.github.com/hotpaw2/ba815fc23b5d642705f2b1dedfaf0107

现在,我的数据保存在浮点数组中,我想将其保存到音频文件中。我试着用这段代码来做:

在最后一行,我收到一条错误消息:

错误:> avae> AVAudioFile.mm:306:-[AVAudioFile writeFromBuffer:error:]:错误-50幅值Demo(79264,0x70000f7cb000)malloc:*对象0x7fc5b9057e00的错误:已释放对象的校验和不正确-对象在被释放后可能被修改. *在 malloc_error_break 中设置断点进行调试

我已经搜索了很多其他问题,但找不到任何对我有帮助的东西。

0 投票
1 回答
952 浏览

fft - 快速 FFT 块音频文件以获取振幅

我需要你的帮助。想在我的音频文件上使用 FFT。我想将我的音频文件切割成更小的缓冲区数组,并将我的 FFT 与所有子缓冲区一起使用。

为什么 ??因为我需要知道并查看(使用绘图数据)我的频率如何具有特殊性。我想知道,我的音频文件中的噪音是如何开始的。

那是我的 FFT 代码。我不知道我做错了什么。

谢谢你的帮助

编辑代码

0 投票
1 回答
1242 浏览

ios - AVAudioFile init 在模拟器上工作,但在设备上崩溃

我想构建一个 iOS 应用程序(使用 Swift 3 和 Xcode 8.2.1),从 iPhone 的麦克风记录并将记录保存到.caf文件中。


首先,我在项目的Info.plist文件中添加了以下几行:

然后,我创建了一个简单的设置,在点击和按钮时UIViewController设置AVAudioEngine和安装/删除音频水龙头。RecordStop

ViewController.swift


该应用程序在模拟器上运行良好:我可以录制我的声音,获取录制文件的 url 并测试我的声音是否被正确录制。但是,该应用程序在我在设备上启动后立即崩溃(在 iOS 10.2.1 上使用 iPhone 6s 进行了测试)。控制台给了我以下日志:

这个问题似乎与在模拟器上工作的 Stack Overflow 线程 AVAudioPlayer 有关,但在 Real Device 上没有,但我不知道如何将其响应实现到我自己的代码中以解决我的问题。

0 投票
1 回答
469 浏览

ios - 反转音频文件

我正在使用 AVAssetReader 和 AVAssetWriter 来反转音频文件。但是,产生的反转音频非常生涩。

反转音频文件的最佳做法是什么?

任何帮助深表感谢。

}

0 投票
0 回答
592 浏览

ios - IOS 将 AVAudioPCMBuffer 的一部分复制到另一个

我有 AVAudioPCMBuffer ,我想将其中的一部分复制到其他缓冲区(从它的末尾剪掉一部分声音)

当我尝试播放 newPlayFile 时,它​​会播放静音(或根本不播放)我知道问题出在 for 循环中,这样做的正确方法是什么?

0 投票
3 回答
3423 浏览

avaudioengine - 如何搜索“com.apple.coreaudio.avfaudio”的错误代码?

我在哪里可以获得com.apple.coreaudio.avfaudio错误代码的信息,例如:

由于未捕获的异常“com.apple.coreaudio.avfaudio”而终止应用程序,原因:“错误 -50”

将 PCM 缓冲区写入AVAudioFile. 缓冲区来自AVAudioEngine的输出节点。

在此处输入图像描述

错误:

* Terminating app due to uncaught exception 'com.apple.coreaudio.avfaudio', reason: 'error -50' * First throw call stack: (0x18eb46fe0 0x18d5a8538 0x18eb46eb4 0x1a8d051cc 0x1a8d731dc 0x1000d45e0 0x1000d4820 0x1a8d14654 0x1a8d146c0 0x1a8d8c26c 0x1a8d8c1fc 0x100ae5a10 0x100af1a84 0x100b001f8 0x100ae7a60 0x100af3128 0x100ae9634 0x100af5630 0x100af6f48 0x18dc0968c 0x18dc0959c 0x18dc06cb4) libc++abi.dylib: 以 NSException 类型的未捕获异常终止

你可以帮帮我吗?

0 投票
1 回答
1408 浏览

swift - 如何使用 AVAudioPlayerNode 从资产目录播放声音?

我正在尝试使用 anAVAudioPlayerNode来播放Assets.xcassets资产目录中的声音,但我不知道该怎么做。

我一直在使用AVAudioPlayer,可以这样初始化NSDataAsset

我想使用 anAVAudioPlayerNode代替(出于音高转换和其他原因)。我可以创建引擎并连接节点 OK:

看起来用于播放文件的方法是playerNode.scheduleFile(). 它需要一个AVAudioFile,所以我想我会尝试做一个。但是初始化器需要AVAudioFile一个 URL。据我所知,资产目录中的资产不能通过 URL 获得。我可以直接使用 获取数据NSDataAsset,但似乎没有任何方法可以使用它来填充AVAudioFile.

是否可以使用 播放资产目录中的声音AVAudioPlayerNode?如果是这样,怎么办?

0 投票
1 回答
575 浏览

ios - 如何从同一个 AVAudioEngine 播放多个不同的音频文件?(错误:!nodeimpl->HasEngineImpl())

在我的应用程序中,每次按下表格视图中的不同单元格时,我都想播放不同的音频文件。下面是我的实现,但我一直收到错误:

由于未捕获的异常“com.apple.coreaudio.avfaudio”而终止应用程序,原因:“所需条件为假:!nodeimpl->HasEngineImpl()”

我认为这个错误意味着它正在崩溃,因为音频引擎已经包含该节点。但我不确定如何在我的情况下解决它。

0 投票
0 回答
707 浏览

ios - 如何多次将 AVAudioFile 读入同一个 AVAudioPCMBuffer?

编辑:

通过在我的 for 循环末尾添加,我能够防止readIntoBuffer返回 false 。audioFileB.framePosition = 0;但是,现在看起来 bufferB 仅包含来自最终readIntoBuffer调用的音频(我的不完整循环)。有谁知道为什么我的缓冲区在每次 readIntoBuffer 调用后丢弃以前加载到其中的数据?

原始问题:

我有两个 AVAudioFile,audioFileAaudioFileB,其中 A 的持续时间比 B 长(可能是好几倍)。我想创建两个足够大的 AVAudioPCMBuffers 来保存 audioFileA,用 audioFileA 的数据填充其中一个,并一遍又一遍地用 audioFileB 的数据填充另一个,直到缓冲区已满。换句话说,第二个缓冲区应该包含 audioFileB 中音频的“循环”。这是我的尝试:

问题是[audioFileB readIntoBuffer:bufferB frameCount:(AVAudioFrameCount)audioFileB.length error:&bufferBError]当它被多次调用时返回 false 。关于我如何做到这一点的任何想法?

0 投票
1 回答
593 浏览

ios - 从某个时间开始将 AVAudioFile 读入缓冲区

假设我有一个持续时间为 10 秒的 AVAudioFile。我想将该文件加载到 AVAudioPCMBuffer 中,但我只想加载在特定秒数/毫秒数或特定 AVAudioFramePosition 之后出现的音频帧。

看起来 AVAudioFile 的readIntoBuffer方法没有给我那种精度,所以我假设我必须在 AVAudioBuffer 级别或更低级别工作?