问题标签 [audiobufferlist]

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 回答
874 浏览

objective-c - 如何转换那个 UnsafeMutablePointer> 变量到 AudioBufferList?

我的 Swift 项目中有这个 EZAudio 方法,用于从麦克风捕获音频:

但我真正需要的是让“bufferList”参数作为 AudioBufferList 类型进入,以便通过套接字发送这些音频数据包,就像我在 Objective C 中所做的那样:

如何将 UnsafeMutablePointer> 变量转换为 AudioBufferList?

0 投票
2 回答
820 浏览

ios - AudioBufferList 在 Swift 中分配

我正在努力使用这个 API 和 Swift 中的语法

我不知道 (AudioBuffer) with () 是什么意思?任何想法以及如何初始化它?这是来自标题:

0 投票
2 回答
115 浏览

objective-c - 更新后 AudioBufferList 字节不匹配

************************ 总计:1250 字节***********************

Printing description of viewController->dataAudioBytes: f3fed5fe 83fe66fd b4fc78fc e1fb5afb 2cfb4dfb b3fb8ffb 32fad5f9 64fbacfc 7dfdc3fd 4bfe8cff 1500f2ff edffb400 3c01ef01 56038d04 a704bd04 5e054205 c8053206 5505e804 74048a04 9a042504 2f045f03 04027400 e7fe63fe effda4fd 1ffd5dfc 81fc64fd 9dfd9efd 81fe51ff 16ffadfe a1fe4bff 57ffdefe 1aff3a00 2301b500 d1ffacff dbfff1ff 5600c500 97000200 b9ff3700 8700e400 7501d801 4302e001 4e015b01 a9015901 28019101 7d015201 5501c101 5e021f03 9603bb02 67010a01 2c012301 5400dbfe 65fed1fe c0ff2b00 d8ffdbff 20002300 47007e00 63006400 5c00e800 9d016f01 76008aff 2bff82ff 4dff4bfe f6fc3afc 7efc52fd 1efee3fe d2fe69fe 8dfe02fe 8dfd0efe effca7fc b7fd87fd d8fcd4fc 6dfd6efe fdfeb8ff 1e0003ff a0fe07ff 5bffb6ff 7eff43ff bdfe56ff e6ff0f00 47009300...

******************从1250 字节中挑选320 字节*****************

Printing description of bytes320: f3fed5fe 83fe66fd b4fc78fc e1fb5afb 2cfb4dfb b3fb8ffb 32fad5f9 64fbacfc 7dfdc3fd 4bfe8cff 1500f2ff edffb400 3c01ef01 56038d04 a704bd04 5e054205 c8053206 5505e804 74048a04 9a042504 2f045f03 04027400 e7fe63fe effda4fd 1ffd5dfc 81fc64fd 9dfd9efd 81fe51ff 16ffadfe a1fe4bff 57ffdefe 1aff3a00 2301b500 d1ffacff dbfff1ff 5600c500 97000200 b9ff3700 8700e400 7501d801 4302e001 4e015b01 a9015901 28019101 7d015201 5501c101 5e021f03 9603bb02 67010a01 2c012301 5400dbfe 65fed1fe c0ff2b00 d8ffdbff 20002300 47007e00 63006400 5c00e800 9d016f01 76008aff 2bff82ff 4dff4bfe f6fc3afc 7efc52fd 1efee3fe d2fe69fe 8dfe02fe 8dfd0efe effca7fc b7fd87fd d8fcd4fc 6dfd6efe fdfeb8ff 1e0003ff a0fe07ff 5bffb6ff 7eff43ff bdfe56ff e6ff0f00 47009300

****************** 更改 AudioBufferList 字节数 *****************

Printing description of dataBytes: 29a067a8 a1210000 40010000 00000000 f3fed5fe 83fe66fd b4fc78fc e1fb5afb 2cfb4dfb b3fb8ffb 32fad5f9 64fbacfc 7dfdc3fd 4bfe8cff 1500f2ff edffb400 3c01ef01 56038d04 a704bd04 5e054205 c8053206 5505e804 74048a04 9a042504 2f045f03 04027400 e7fe63fe effda4fd 1ffd5dfc 81fc64fd 9dfd9efd 81fe51ff 16ffadfe a1fe4bff 57ffdefe 1aff3a00 2301b500 d1ffacff dbfff1ff 5600c500 97000200 b9ff3700 8700e400 7501d801 4302e001 4e015b01 a9015901 28019101 7d015201 5501c101 5e021f03 9603bb02 67010a01 2c012301 5400dbfe 65fed1fe c0ff2b00 d8ffdbff 20002300 47007e00 63006400 5c00e800 9d016f01 76008aff 2bff82ff 4dff4bfe f6fc3afc 7efc52fd 1efee3fe d2fe69fe 8dfe02fe 8dfd0efe effca7fc b7fd87fd d8fcd4fc 6dfd6efe fdfeb8ff 1e0003ff a0fe07ff 5bffb6ff

0 投票
0 回答
275 浏览

ios - 如何使用 lame lib iOS 将音频浮点数组转换为 mp3 缓冲区?

我正在使用 EZAudio Lib 在播放时获取音频数据。现在我想将此数据广播为 mp3 缓冲区。我正在使用 lame lib 对数据进行编码并进行广播。但我无法正确转换它。

从 EZAudio lib 函数下方获取音频浮动缓冲区

获得缓冲区后,使用下面的函数转换为 AudioBufferList

当我得到 AudioBufferList 并传递给下面的函数进行编码时

我想将playAudio(缓冲区)转换为编码数据(使用跛脚),以便我可以发送到服务器。

请帮帮我。

0 投票
2 回答
1399 浏览

swift - 为立体声音频流分配带有两个缓冲区的 AudioBufferList

我在 C 中有以下代码,它分配了具有适当长度的 AudioBufferList。

大多数时候,mChannelsPerFrame是 2,所以上面的代码创建了两个缓冲区,每个通道一个。每个缓冲区都有一个保留的内存值bufferSizeBytes

如何在 Swift 中复制相同的行为?

0 投票
1 回答
1012 浏览

swift - Generating Float32 Array (Float32 PCM data) using CMSampleBuffer

I get the callbacks from camera with for audio with data in the format of CMSampleBuffer but I am unable to convert this data to PCM data.

I followed the docs provided by Apple copyPCMData, UnsafeMutablePointer, AudioBufferList but all I get is 0.0 at the end.

Here is my code:

0 投票
0 回答
791 浏览

cocos2d-x - 有没有办法阻止来自 AutoToolBox 的 AURemoteIO 线程执行其轮询任务?

所以我正在使用 cocos2dx new AudioEngine,我遇到了这个崩溃:https ://github.com/cocos2d/cocos2d-x/issues/18948 。

基本上发生的事情是 AudioEngine 正在使用 AlBufferDataStatic,将要读取的数据存储在 char* pcmData 缓冲区中(您可以在此处查看代码:https ://github.com/cocos2d/cocos2d-x/tree/v3/cocos /audio/apple(主要是 AudioCache.mm 和 AudioDecoder.mm)),并且当在 AudioCache 析构函数(从主线程调用)中释放 pcmData 缓冲区时,由于 AURemoteIO 正在轮询,因此存在竞争条件客户端数据(对我来说它在 mp3 中)将其转换为 pcm 到它自己的线程中。

所以问题是:我们能否在 AURemoteIO 线程被释放的那一刻停止使用这个现在释放的 pcmData 缓冲区做任何事情?

0 投票
0 回答
88 浏览

swift - 如何在 AVAudioPlayer swift 中将 Google 语音播放到文本 api 缓冲音频

我正在使用谷歌语音到文本应用程序,将语音转换为文本。语音缓存在 AudioBufferList 中,并进一步转换为 Data。当我尝试使用其初始化方法“AVAudioPlayer(contentOf:Data)”在 AvudioPlayer 中播放相同的数据时,它不会播放。给我错误“OSStatus 1954115647”,这是不受支持的文件类型。

我尝试在将 .WAV 文件转换为数据后播放 .WAV 文件,效果很好。

我希望在 AVAudioPlayer 中播放缓冲的音频。

0 投票
1 回答
412 浏览

ios - AudioUnit inputCallback 与 AudioUnitRender -> audioBufferList.mBuffers[0].mDataByteSize 之间不匹配!= inNumberFrames

我们正在使用 AudioUnits 输入回调来处理传入的缓冲区。音频单元设置主要取自

https://github.com/robovm/apple-ios-samples/blob/master/aurioTouch/Classes/AudioController.mm

我在音频回调中添加了一些健全性检查。看起来像这样

现在有时语句会assert(callbackData.audioBufferList.mBuffers[0].mDataByteSize == inNumberFrames * sizeof(float));失败,因为缓冲区不同。

有人对这种现象有解释吗?

0 投票
2 回答
465 浏览

swift - 如何将包含 AAC 数据的 AudioBufferList 转换为 CMSampleBuffer

我正在使用将通过以下方式捕获的AudioConverter未压缩转换为:CMSampleBufferAVCaptureSessionAudioBufferList

我的输出 asbd 设置如下:

我想转换AudioBufferListCMSampleBuffer包含压缩数据,以便我可以将其写入 mp4 文件使用AVAssetWriter(我已经想出如何用视频来做到这一点),但到目前为止很少。我试过咨询这个答案,但在那种情况下有 PCM 数据,它似乎在这里不可用。

我可以访问AudioBufferList以及原始样本的presentationTimeStamp。我尝试了以下方法,但我不太确定如何计算 numSamples 以及这种方法是否有意义:

最后我确实设法创建了一个CMSampleBuffer,但是当我尝试完成写作时,我收到以下错误: