问题标签 [audiosession]

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

ios - 不推荐使用 AudioSessionRemovePropertyListenerWithUserData

在我的一个应用程序中,我有以下代码:

我认为它没有任何问题,它已经工作了一段时间并且仍然有效。

但我现在收到这个警告:

..../MyViewController.m:1055:9: 'AudioSessionRemovePropertyListenerWithUserData' 已被弃用:首先在 iOS 7.0 中弃用

我应该怎么做才能让编译器开心并摆脱消息?即使在网上浏览了一段时间后,我也没有找到任何明确的答案,以寻找一种方法来替换这个“不推荐使用的代码”。

0 投票
3 回答
7750 浏览

bluetooth - 如何检测蓝牙耳机是否插入 IOS 8?

在我的项目中,我AVAudioSession用来检测任何耳机是否插入或拔出。但在这种情况下,我无法检测到蓝牙设备何时插入。这是我的耳机状态代码。

那么如何检测蓝牙耳机是否插入 iOS 8?

0 投票
1 回答
524 浏览

ios - iOS 音频系统。开始和停止或只是开始?

我有一个应用程序,其中录音是主要和最重要的部分。但是,用户可以切换到显示所有记录且不执行记录的表格视图控制器。

问题是哪种方法更好:“启动和停止音频系统或只是启动它”。显然第一个更正确,例如“在需要时分配,在使用时释放”。我将在这个问题上展示我的想法,并希望在技术人员中找到赞同或反对的意见。

当我第一次构建 AudioController.m 时,我实现了打开/关闭音频会话和启动/停止音频单元的方法。我想在录制未激活时停止音频系统。我使用了以下代码:

由于以下原因,我发现这种方法有问题:

  1. 音频系统延迟启动。这意味着,recording_callback() 有一段时间没有被调用。我怀疑是 AudioOutputUnitStart 负责。我试图用这个函数调用注释掉这一行并将其移至初始化。延迟消失了。
  2. 如果用户在录制视图和表格视图之间切换非常快(音频系统的启动和停止也非常快),它会导致媒体服务的死亡(我知道在这里观察 AVAudioSessionMediaServicesWereResetNotification 可能会有所帮助,但这不是重点)。

为了解决这些问题,我用我设法发现的其他方法修改了 AudioController.m:当应用程序激活时启动音频系统,并且在应用程序终止之前不要停止它在这种情况下,还有几个问题:

  1. CPU使用率
  2. 如果音频类别设置为仅录制,则当用户浏览表视图控制器时无法播放其他音频。

如果像这样在recording_callback()中取消任何类型的处理,第一个令人惊讶的是不是什么大问题:

通过这样做,CPU 使用率在真实设备上等于 0%,此时不需要录制且不执行其他操作。

第二个问题可以通过将音频类别切换到 RecordAndPlay 并启用混合或忽略该问题来解决。例如,在我的情况下,应用程序需要外部设备使用迷你插孔,因此不能并行使用耳机。

尽管如此,第一种方法更接近我,因为我喜欢在不再需要时关闭/清理每个流/资源。而且我想确定除了启动音频系统之外确实没有其他选择。请确保我不是唯一使用此解决方案的人,而且它是正确的。

0 投票
1 回答
590 浏览

c# - 如何将 IAudioSessionControl 转换为 AudioSessionControl

我正在使用 NAudio 包装器,并尝试在创建会话时将其静音。

为了使会话静音,我需要将其转换IAudioSessionControlAudioSessionControl

IAudioSessionControl是一个接口,因此我不知道如何转换它。

一点帮助将不胜感激。

0 投票
1 回答
360 浏览

ios - iOS 9.1 AudioQueueAllocateBuffer requesting a fix buffer size, it returns a smaller one

In the new iOS 9.1 when sets the AudioSession requesting a fix buffer size, the OS returns a smaller buffer. Why does that happen?? In the early versions <9.1 it worked as a charm

And in the "RecorderCallback" I receive buffers smaller than the requested.

Any clue why does that happen?

0 投票
0 回答
1695 浏览

audiounit - iOS - 以特定频率和音量生成音调

我必须制作像听力图这样的耳朵测试应用程序。我必须以特定的频率和音量校准耳机。我必须以特定的频率和音量生成哔声,并且声音的输出音量应该与耳机相同。你能请任何人帮助我吗?

0 投票
2 回答
2506 浏览

ios - iOS 强制音频输出仅到耳机插孔

即使没有插入耳机,我也想将 iOS VoiceOver 声音定向到耳机。

换句话说,当我的应用程序打开时,VoiceOver 声音(以及我在应用程序中使用AVSpeechUtterance等播放的其他声音)不应该进入扬声器,而是应该从耳机中发出(如果已连接)。

任何人都可以对此提出建议吗?

0 投票
2 回答
1131 浏览

ios - AVAudioSession setCategory 成功但没有任何反应

我正在编写带有核心音频的 iOS 应用程序。奇怪的事情发生了。

去做:

我发现一切都很好,背景音乐被忽略了。然后我尝试恢复它:

没有错误,但背景音乐仍然闪避。然后我将其替换为:

有用!背景音乐没了!

我只是不明白为什么我的第一次尝试失败而第二次成功?

在我看来,没有区别!

0 投票
1 回答
1226 浏览

swift - AVAudioSession - 捕获 setMode 和 setCategory 错误

我在仅执行音频播放的应用程序中使用 AVAudioSession。我正在将我的 audioSession 的模式和类别设置为applicationDidFinishLaunchingWithOptions:.

在我的应用程序的生命周期中,我从未设置过不同的模式或类别,当用户点击播放按钮时,我会激活我的音频会话。在什么情况下这些方法 (setMode:error:setCategory:error) 中的任何一个会引发错误?我应该期望在我的 catch 块中处理什么?

0 投票
0 回答
64 浏览

objective-c - 如何从 mp3 文件中读取并显示在标签中?

我想在UILabel播放 mp3 文件时显示文本信息。就像歌词一样,有没有什么框架或 API 可以帮助我实现这一点?如果有人对此有任何想法,请帮助我。

先感谢您。