问题标签 [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.
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 中设置断点进行调试
我已经搜索了很多其他问题,但找不到任何对我有帮助的东西。
fft - 快速 FFT 块音频文件以获取振幅
我需要你的帮助。想在我的音频文件上使用 FFT。我想将我的音频文件切割成更小的缓冲区数组,并将我的 FFT 与所有子缓冲区一起使用。
为什么 ??因为我需要知道并查看(使用绘图数据)我的频率如何具有特殊性。我想知道,我的音频文件中的噪音是如何开始的。
那是我的 FFT 代码。我不知道我做错了什么。
谢谢你的帮助
编辑代码
ios - AVAudioFile init 在模拟器上工作,但在设备上崩溃
我想构建一个 iOS 应用程序(使用 Swift 3 和 Xcode 8.2.1),从 iPhone 的麦克风记录并将记录保存到.caf
文件中。
首先,我在项目的Info.plist文件中添加了以下几行:
然后,我创建了一个简单的设置,在点击和按钮时UIViewController
设置AVAudioEngine
和安装/删除音频水龙头。Record
Stop
ViewController.swift
该应用程序在模拟器上运行良好:我可以录制我的声音,获取录制文件的 url 并测试我的声音是否被正确录制。但是,该应用程序在我在设备上启动后立即崩溃(在 iOS 10.2.1 上使用 iPhone 6s 进行了测试)。控制台给了我以下日志:
这个问题似乎与在模拟器上工作的 Stack Overflow 线程 AVAudioPlayer 有关,但在 Real Device 上没有,但我不知道如何将其响应实现到我自己的代码中以解决我的问题。
ios - 反转音频文件
我正在使用 AVAssetReader 和 AVAssetWriter 来反转音频文件。但是,产生的反转音频非常生涩。
反转音频文件的最佳做法是什么?
任何帮助深表感谢。
}
ios - IOS 将 AVAudioPCMBuffer 的一部分复制到另一个
我有 AVAudioPCMBuffer ,我想将其中的一部分复制到其他缓冲区(从它的末尾剪掉一部分声音)
当我尝试播放 newPlayFile 时,它会播放静音(或根本不播放)我知道问题出在 for 循环中,这样做的正确方法是什么?
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 类型的未捕获异常终止
你可以帮帮我吗?
swift - 如何使用 AVAudioPlayerNode 从资产目录播放声音?
我正在尝试使用 anAVAudioPlayerNode
来播放Assets.xcassets
资产目录中的声音,但我不知道该怎么做。
我一直在使用AVAudioPlayer
,可以这样初始化NSDataAsset
:
我想使用 anAVAudioPlayerNode
代替(出于音高转换和其他原因)。我可以创建引擎并连接节点 OK:
看起来用于播放文件的方法是playerNode.scheduleFile()
. 它需要一个AVAudioFile
,所以我想我会尝试做一个。但是初始化器需要AVAudioFile
一个 URL。据我所知,资产目录中的资产不能通过 URL 获得。我可以直接使用 获取数据NSDataAsset
,但似乎没有任何方法可以使用它来填充AVAudioFile
.
是否可以使用 播放资产目录中的声音AVAudioPlayerNode
?如果是这样,怎么办?
ios - 如何从同一个 AVAudioEngine 播放多个不同的音频文件?(错误:!nodeimpl->HasEngineImpl())
在我的应用程序中,每次按下表格视图中的不同单元格时,我都想播放不同的音频文件。下面是我的实现,但我一直收到错误:
由于未捕获的异常“com.apple.coreaudio.avfaudio”而终止应用程序,原因:“所需条件为假:!nodeimpl->HasEngineImpl()”
我认为这个错误意味着它正在崩溃,因为音频引擎已经包含该节点。但我不确定如何在我的情况下解决它。
ios - 如何多次将 AVAudioFile 读入同一个 AVAudioPCMBuffer?
编辑:
通过在我的 for 循环末尾添加,我能够防止readIntoBuffer返回 false 。audioFileB.framePosition = 0;
但是,现在看起来 bufferB 仅包含来自最终readIntoBuffer调用的音频(我的不完整循环)。有谁知道为什么我的缓冲区在每次 readIntoBuffer 调用后丢弃以前加载到其中的数据?
原始问题:
我有两个 AVAudioFile,audioFileA和audioFileB,其中 A 的持续时间比 B 长(可能是好几倍)。我想创建两个足够大的 AVAudioPCMBuffers 来保存 audioFileA,用 audioFileA 的数据填充其中一个,并一遍又一遍地用 audioFileB 的数据填充另一个,直到缓冲区已满。换句话说,第二个缓冲区应该包含 audioFileB 中音频的“循环”。这是我的尝试:
问题是[audioFileB readIntoBuffer:bufferB frameCount:(AVAudioFrameCount)audioFileB.length error:&bufferBError]
当它被多次调用时返回 false 。关于我如何做到这一点的任何想法?
ios - 从某个时间开始将 AVAudioFile 读入缓冲区
假设我有一个持续时间为 10 秒的 AVAudioFile。我想将该文件加载到 AVAudioPCMBuffer 中,但我只想加载在特定秒数/毫秒数或特定 AVAudioFramePosition 之后出现的音频帧。
看起来 AVAudioFile 的readIntoBuffer方法没有给我那种精度,所以我假设我必须在 AVAudioBuffer 级别或更低级别工作?