问题标签 [avaudiosession]

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

iphone - AVAssestReader 停止音频回调

所以我设置了一个音频会话

然后设置 AudioQueue 或 RemoteIO 设置以直接从文件播放一些音频。

播放音频后,我可以在应用程序的状态栏中看到“播放图标”。接下来我设置了一个 AVAssetReader。

当我调用 [reader startReading] 时,音频停止播放。在 RemoteIO 和 AudioQueue 的情况下,回调停止被调用。

如果我添加混合选项:

然后在调用 AudioQueueStart 之后的音频时不再出现“播放图标”。由于手机不将我视为主要音频源,因此我也无法使用其他功能。

有谁知道我可以使用 AVAssetReader 并仍然保持主要音频源的方法?

0 投票
0 回答
182 浏览

ios4 - 使用 iPod 音乐播放器

如何让我的应用程序在后台唱歌而不是 iPod。我认为我需要对 MPMediaItem 执行我的 NSURL 并使用 iPodMusicPlayer 播放。我怎样才能做到这一点?

0 投票
1 回答
1093 浏览

iphone - 在 iOS 5 中,类别更改后,“AudioQueueStart”使用 3 ~ 5 秒开始录制

在我将 AudioSession 的类别从 更改kAudioSessionCategory_MediaPlayback为 后kAudioSessionCategory_PlayAndRecord,该AudioQueueStart方法挂起大约 3 ~ 5 秒以开始录制。

该问题仅发生在运行 iOS 5 的 iOS 设备上,而不是在模拟器中或仍在运行 iOS 4 或 iOS 3 的设备上。

这是我尝试过的:

如果我不更改类别但始终使用kAudioSessionCategory_PlayAndRecord,则一切正常。AudioQueueStart约 0.01 秒后开始录制。但是因为我希望我的声音来自设备的扬声器,所以我不能kAudioSessionCategory_PlayAndRecord一直使用。

同时使用kAudioSessionOverrideAudioRoute_SpeakerandkAudioSessionCategory_PlayAndRecord是个好主意,但如果我这样做的话,我也应该处理很多kAudioSessionProperty_AudioRouteChange情况,比如用户插入或移除耳机,连接蓝牙耳机等,太复杂了。

任何建议或解决方案将不胜感激。

0 投票
2 回答
1157 浏览

iphone - 使用耳机检测用户输入

我正在尝试检测连接到 iPhone 的耳机上的用户输入(点击)。到目前为止,我只发现了如何使用 AVAudioSession 检测中断。AVAudioSession 正确还是有其他方法?如何?

0 投票
1 回答
794 浏览

iphone - 录音时播放声音

是否可以在现场录制时播放声音?

我找到了这个问题/答案,它显示了如何使用 AVAudioSession 录制声音。

如果是这样,我应该看什么?AVAudioSession 也可以播放声音吗?

(基本上就像放大器一样,声音进来就输出)

0 投票
0 回答
1809 浏览

ios - 即使连接了 HDMI 附件,是否可以强制 AVAudioSession 输出到耳机插孔?

即使连接了 HDMI 适配器,是否可以通过耳机插孔强制音频?

我看到 iOS 5.0 现在有多个音频路由的常量:

我还看到 iOS 5.0 支持一个名为 kAudioSessionProperty_OutputDestination 的新属性,它是读/写的:

问题:

  1. 该属性是否旨在让我强制输出路由?
  2. 文档提到了一个 USB 音频附件。当没有连接附件或连接 HDMI 电缆时,这是否有效?
  3. 是否有任何示例代码显示如何正确设置此属性?

谢谢!

0 投票
0 回答
623 浏览

ios - iOS / AudioSessions:当存在外部耳机麦克风时,通过内部麦克风路由音频输入?

正如它在罐头上所说的那样:

当存在外部耳机麦克风时,我可以通过内部麦克风路由音频输入吗?

如果是这样,怎么做?

编辑:

我找到了这个:

http://developer.apple.com/library/ios/documentation/AudioToolbox/Reference/AudioSessionServicesReference/AudioSessionServicesReference.pdf

第 18 页 在此处输入图像描述

所以覆盖使用内置扬声器会自动切换到使用内置麦克风。

但我看不到任何明确的方法。

0 投票
1 回答
1979 浏览

iphone - AVAudioSessionCategoryPlayAndRecord 未检测到静音开关

我正在使用 AVAudioSessionCategoryPlayAndRecord 来检测用户对着麦克风吹气,因为我希望其他声音继续播放。但是,如果静音开关打开,我不想播放任何音频,但我仍然想录制。

显然,如果静音开关打开,我可以只使用一些 IF-THEN 逻辑并将其更改为 AVAudioSessionCategoryRecord,但我无法检测到这一点(从另一个用户的外观来看,之前有效的解决方案似乎无法正常工作iOS5)。

所以我的问题有两个部分:

  1. 有人知道如何检测 iOS 5 上的静音开关吗?

  2. 如果没有,有没有办法操纵 AVAudioSessionCategoryPlayAndRecord 来检测静音开关(根据苹果, AVAudioSessionCategoryPlayAndRecord 不受静音开关的影响)

0 投票
2 回答
916 浏览

ios - 如何通过成功将音频保存到文件来知道 AVAudioRecorder 何时停止?

通过以下方式将某些内容记录到指定的文件中

一旦停止录音机并成功保存文件,需要立即播放录制的文件。

问题是什么时候可以读取文件并播放它。可以使用哪个委托 API?

0 投票
1 回答
918 浏览

iphone - 发生中断时如何让我的音频应用程序在后台保持活动状态?

我正在尝试使用 AVAudioSession 和 AVAudioPlayer 以及音频背景模式来使我的应用程序在后台保持活动状态。如果没有中断,它工作正常。但是,当我收到 audioPlayerBeginInterruption 消息时,我启动了一个 backgroundTask 并等待 audioPlayerEndInterruption 消息,然后重新启动我的音频会话。

(我注意到在 audioPlayerBeginInterruption 应用程序仍处于活动状态后,播放器只是暂停,但在 audioPlayerEndInterruption 应用程序暂停后)

问题 1:如果 audioPlayerEndInterruption 消息在 10 分钟后到达,后台任务被终止,应用程序被挂起,我无法重新启动我的音频会话

问题 2:对于几个应用程序/游戏,我收到了 audioPlayerBeginInterruption 消息,但我从未收到 audioPlayerEndInterruption。

如何让我的应用程序始终处于活动状态?

感谢您的所有回答和建议