问题标签 [audioqueue]

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 投票
1 回答
1248 浏览

objective-c - iOS:脉冲红色双高状态栏

我正在开发一个录音应用程序,我想在应用程序录制时以及用户仍在应用程序中时在我的应用程序顶部显示一个脉动的红色双高状态栏 - 就像语音备忘录一样。我怎么做?我可以得到它,以便当我在应用程序时出现双高红色状态栏,但在应用程序内时不会出现。有什么提示吗?真的有可能吗?

0 投票
1 回答
1076 浏览

ios - 在 AudioQueue 的缓冲区之间单击/轻敲

正如您从代码中看到的那样,在我的回调中,我提取了音频数据并将其放入 NSData 数据中,然后将其发送到另一个类以将其上传到服务器。这一切都有效,这意味着服务器接收并播放音频数据。但是,缓冲区之间会发出咔哒声或敲击声。我希望有人可以告诉我是什么原因造成的以及如何解决它。我已经阅读了其他相关的帖子,但是它们似乎都指的是只使用 1 个缓冲区,并且添加更多是解决方法,但我使用的是 3 个缓冲区并尝试调整没有修复它的数字

AQRecorder.mm

0 投票
2 回答
368 浏览

ios - 在构建之前配置应用沙盒

我想我的问题是如何预先配置我的 iOS 沙箱以在其中包含音频文件,以便在构建后立即测试我的音频队列结构。

我正在开发一个 iOS 应用程序来播放我在服务器上托管的流中的音频。在我解决如何从 HTTP 流中获取数据之前,我想我会先使用音频队列服务来播放手机中的文件。据我了解,如果您想一次播放多个音频流,则必须使用音频队列,而不是 AVPlayer 或任何其他服务。

我遇到的问题是我无法配置我的 CFURLRef 因为我找不到我的文件。

我在我的 AudioFileReadPackets 收到一条错误消息 EXC_BAD_ACCESS,此时我的 OSStatus 结果设置为 -50,所以我认为我的 AudioFileOpenURL 调用失败。

我认为我的问题是我的 *path 在这一点上并没有真正指向任何东西。问题是当我去

我的四个选项是 Demo3、Documents、Library 和 temp。这些都没有我添加到项目中的 quick.caf 文件。

TL,DR - 除非我忽略了某些东西,否则我相信我会在构建之前询问如何将音频文件添加到我的沙箱中,以便我可以在 iPhone 模拟器上测试我的代码。

0 投票
1 回答
2258 浏览

iphone - 仅从 iphone 的扬声器(不包括麦克风)录制音频输出

我正在尝试从 iPhone 扬声器录制声音。我能够做到这一点,但我无法避免录音输出中的麦克风输入。尝试使用不同网站上提供的示例代码,但没有成功。

我使用的示例使用音频单元进行录制。我需要知道音频单元是否有任何属性可以将麦克风输入音量设置为零。除此之外,我从其他帖子中了解到音频队列服务可以为我做这件事。任何人都可以使用音频队列服务实现的示例代码重定向我。在将数据作为输入发送到扬声器之前,我需要知道是否有办法将数据写入单独的音频文件。

提前致谢

0 投票
1 回答
1512 浏览

iphone - ffmpeg 与 AudioUnit

我有的

我的目标是使用 ffmpeg 解析一些媒体文件并提供视频和音频播放。我成功地将 OpenGL 用于视频和 AudioQueue 用于音频。

我需要做的是 我需要将 AudioQueue 更改为 Audio Unit 服务,因为它确实为音频操作提供了一些令人讨厌的功能。

基本上我对将音频单元集成到 ffmpeg 运行循环中感到困惑。所以想从你们那里获得一些参考/样本,其中音频单元与 ffmpeg 媒体播放循环集成,即媒体数据包提取并将其推入音频单元可以播放的某个缓冲区。

0 投票
1 回答
899 浏览

objective-c - iPhone 上的音频混合:需要建议

我正在使用 AudioQueue 服务在我的应用程序中播放音频。我需要一起播放几个音频文件。我现在所做的只是创建尽可能多的音频队列来播放文件。即我为两个音频文件创建两个音频队列并同时启动它们以获得音频混合效果。

所以基本上我想知道这是一种“优雅”的方式。

请注意,我知道音频单元服务及其 MixerHost 示例,请不要建议该选项,我需要专门使用音频队列服务进行声音混合。

0 投票
1 回答
1255 浏览

objective-c - AC3 音频 FramesPerPacket 大小

我确实以以下方式创建音频队列

格式如下

创建失败并出现 kAudioFormatUnsupportedDataFormatError。我检查过它mavfContext->streams[audio_index]->codec->frame_size是 0。那么 ac3 媒体的 mFramesPerPacket 是否有任何标准值?

0 投票
0 回答
271 浏览

ios - 使用 SpeakHere 示例中的 AudioQueue 和 AQRecorder 录制声音

我可以同时运行 2 个 AQRecorder 吗?我想将录音保存到两个文件中,并且我想同时运行两个 AudioQueueRef,可以吗?

谢谢

0 投票
0 回答
755 浏览

ios - 调用 AudioFileGetProperty 方法后未填充 iOS AC3 AudioStreamBasicDescription 属性

我正在调用 AudioFileGetProperty 方法,以便为 .ac3 音频文件设置 AudioStreamBasicDescription 对象的属性,但结果所有属性均为 0。这是我的代码

这是我的日志

audioFormat AudioStreamBasicDescription {...}

mSampleRate Float64 0

mFormatID UInt32 0

mFormatFlags UInt32 0

mBytesPerPacket UInt32 0

mFramesPerPacket UInt32 0

mBytesPerFrame UInt32 0

mChannelsPerFrame UInt32 0

mBitsPerChannel UInt32 0

mReserved UInt32 0

该代码适用于 .mp3 很好,我不明白为什么它不适用于 .ac3 格式。

0 投票
2 回答
2588 浏览

iphone - 在 iOS 中实现背景音频并对其进行故障排除

StackOverflow 上有很多关于 iOS 中背景音乐播放的问题。没有人完全探索所有边缘情况,这个问题的目的是成为 iOS 上背景音频问题中的最后一句话

定义和假设

所有代码、问题和示例均参考

“背景” ——当用户按下主页按钮或电源按钮时应用程序进入的状态(因此设备显示锁定屏幕)。该应用程序还可以使用多任务切换器或 iPad 上的多任务手势置于后台。

"audio" — 使用 AudioQueue 播放的音频(包括 AVAudioPlayer)

先决条件

据我了解,让应用程序在后台播放音频有两个要求。

  1. 设置UIBackgroundModesaudio_Info.plist
  2. [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];

要求

我的用例是在后台播放相对较长的音频(音乐)。可能有数百首曲目,应用程序将按顺序播放它们。可以认为音频将无限期地播放。

该应用程序将通过暂停播放来处理中断。

问题

我在以下方面取得了喜忧参半的成功:

允许在后台播放音频。但我对它是否需要以及它与以下内容有何不同感到困惑:

边缘案例

  1. 中断。如果您注册以接收音频中断(电话等)的通知,请成为AVAudioPlayer. 例如,如果您在中断开始时暂停或停止音频并在结束时恢复音频,如果中断超过 10 分钟(后台任务完成允许的最长时间),您的应用程序是否会暂停?

  2. 如果调用 Lock 或 Home,模拟器将停止音频,同时使用:

    /li>

但是,这适用于设备。这是一个已知的问题?