问题标签 [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.
iphone - AVAssestReader 停止音频回调
所以我设置了一个音频会话
然后设置 AudioQueue 或 RemoteIO 设置以直接从文件播放一些音频。
播放音频后,我可以在应用程序的状态栏中看到“播放图标”。接下来我设置了一个 AVAssetReader。
当我调用 [reader startReading] 时,音频停止播放。在 RemoteIO 和 AudioQueue 的情况下,回调停止被调用。
如果我添加混合选项:
然后在调用 AudioQueueStart 之后的音频时不再出现“播放图标”。由于手机不将我视为主要音频源,因此我也无法使用其他功能。
有谁知道我可以使用 AVAssetReader 并仍然保持主要音频源的方法?
ios4 - 使用 iPod 音乐播放器
如何让我的应用程序在后台唱歌而不是 iPod。我认为我需要对 MPMediaItem 执行我的 NSURL 并使用 iPodMusicPlayer 播放。我怎样才能做到这一点?
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_Speaker
andkAudioSessionCategory_PlayAndRecord
是个好主意,但如果我这样做的话,我也应该处理很多kAudioSessionProperty_AudioRouteChange
情况,比如用户插入或移除耳机,连接蓝牙耳机等,太复杂了。
任何建议或解决方案将不胜感激。
iphone - 使用耳机检测用户输入
我正在尝试检测连接到 iPhone 的耳机上的用户输入(点击)。到目前为止,我只发现了如何使用 AVAudioSession 检测中断。AVAudioSession 正确还是有其他方法?如何?
iphone - 录音时播放声音
是否可以在现场录制时播放声音?
我找到了这个问题/答案,它显示了如何使用 AVAudioSession 录制声音。
如果是这样,我应该看什么?AVAudioSession 也可以播放声音吗?
(基本上就像放大器一样,声音进来就输出)
ios - 即使连接了 HDMI 附件,是否可以强制 AVAudioSession 输出到耳机插孔?
即使连接了 HDMI 适配器,是否可以通过耳机插孔强制音频?
我看到 iOS 5.0 现在有多个音频路由的常量:
我还看到 iOS 5.0 支持一个名为 kAudioSessionProperty_OutputDestination 的新属性,它是读/写的:
问题:
- 该属性是否旨在让我强制输出路由?
- 文档提到了一个 USB 音频附件。当没有连接附件或连接 HDMI 电缆时,这是否有效?
- 是否有任何示例代码显示如何正确设置此属性?
谢谢!
ios - iOS / AudioSessions:当存在外部耳机麦克风时,通过内部麦克风路由音频输入?
正如它在罐头上所说的那样:
当存在外部耳机麦克风时,我可以通过内部麦克风路由音频输入吗?
如果是这样,怎么做?
编辑:
我找到了这个:
第 18 页
所以覆盖使用内置扬声器会自动切换到使用内置麦克风。
但我看不到任何明确的方法。
iphone - AVAudioSessionCategoryPlayAndRecord 未检测到静音开关
我正在使用 AVAudioSessionCategoryPlayAndRecord 来检测用户对着麦克风吹气,因为我希望其他声音继续播放。但是,如果静音开关打开,我不想播放任何音频,但我仍然想录制。
显然,如果静音开关打开,我可以只使用一些 IF-THEN 逻辑并将其更改为 AVAudioSessionCategoryRecord,但我无法检测到这一点(从另一个用户的外观来看,之前有效的解决方案似乎无法正常工作iOS5)。
所以我的问题有两个部分:
有人知道如何检测 iOS 5 上的静音开关吗?
如果没有,有没有办法操纵 AVAudioSessionCategoryPlayAndRecord 来检测静音开关(根据苹果, AVAudioSessionCategoryPlayAndRecord 不受静音开关的影响)
ios - 如何通过成功将音频保存到文件来知道 AVAudioRecorder 何时停止?
通过以下方式将某些内容记录到指定的文件中
一旦停止录音机并成功保存文件,需要立即播放录制的文件。
问题是什么时候可以读取文件并播放它。可以使用哪个委托 API?
iphone - 发生中断时如何让我的音频应用程序在后台保持活动状态?
我正在尝试使用 AVAudioSession 和 AVAudioPlayer 以及音频背景模式来使我的应用程序在后台保持活动状态。如果没有中断,它工作正常。但是,当我收到 audioPlayerBeginInterruption 消息时,我启动了一个 backgroundTask 并等待 audioPlayerEndInterruption 消息,然后重新启动我的音频会话。
(我注意到在 audioPlayerBeginInterruption 应用程序仍处于活动状态后,播放器只是暂停,但在 audioPlayerEndInterruption 应用程序暂停后)
问题 1:如果 audioPlayerEndInterruption 消息在 10 分钟后到达,后台任务被终止,应用程序被挂起,我无法重新启动我的音频会话
问题 2:对于几个应用程序/游戏,我收到了 audioPlayerBeginInterruption 消息,但我从未收到 audioPlayerEndInterruption。
如何让我的应用程序始终处于活动状态?
感谢您的所有回答和建议