问题标签 [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 投票
2 回答
1926 浏览

ios5 - AVPlayer observeValueForKeyPath

我有一个播放流内容的音频应用程序。问题是有时,当信号很弱时,它会停止播放。网络仍然可以访问,但缓冲区似乎已经空了。

我尝试实现一个观察者来监视玩家的状态变化,但它不起作用,该方法永远不会被调用。

作为一个特殊性,AVPlayer 实例位于 AppDelegate 中,因为我有多个视图,并且播放器必须继续播放显示的任何视图。所以这是一段示例代码:

有谁知道为什么没有提出该事件?我在该方法中有 2 个警报,但没有人被触发,这意味着它没有进入该方法。所有这一切的目标是尝试实现一种让玩家在发生这种情况时重新启动的方法。

谢谢 !

0 投票
1 回答
1890 浏览

objective-c - 在 Mac 上使用 AVAudioRecorder

在这里找到的 AVAudioRecorder 类参考:

https://developer.apple.com/library/mac/#documentation/AVFoundation/Reference/AVAudioRecorder_ClassReference/Reference/Reference.html#//apple_ref/doc/uid/TP40008238

说AVAudioSession可以用来配置音频会话

要为录制配置适当的音频会话,请参阅 AVAudioSession 类参考和 AVAudioSessionDelegate 协议参考。

但是 AVFoundation 框架在 OS X 上缺少 AVAudioSession。

所以我们得到错误,use of undeclared identifier AVAudioSession

所以我查看了 OS X AVFoundation Framework,发现 AVAudioSession.h 不见了!

对此有什么想法吗?

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>

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

0 投票
1 回答
2238 浏览

ios - 使用音频会话录制时如何减少录制噪音?

我得到了一些录音代码,但录制的音频(来自 iPod touch 内置麦克风)非常嘈杂。

这是我的配置:

我这里的配置是否错误,或者是否有其他方法可以减少录制音频中的噪音?据我所知,有一些录音机应用程序没有噪音。

0 投票
1 回答
11025 浏览

objective-c - OSStatus NSOSStatusErrorDomain

当我使用获取属性时收到以下错误

上述语句产生的错误是

现在,这里 560557673 是什么意思,我在哪里可以找到它的解释?

文档仅提供 NSOSStatusErrorDomain 作为错误之一。

0 投票
2 回答
5871 浏览

ios - AVAudioPlayer 暂停后恢复背景音频

我开发了一个 iPhone 应用程序,它允许其他应用程序在后台播放音频。为此,我像这样初始化我的音频会话:

在我的应用程序的某个时刻,我提供了一个音频播放器来播放存储在 CoreData 中的一些文件,其中包含 AVAudioPlayer。当用户点击播放按钮时,背景音频应该暂停。当播放器完成或暂停时,背景音频应恢复播放。

在播放器完成播放后恢复时

就像一个魅力,我在暂停后卡住了简历。它应该在按钮的 IBAction 中以相同的方式工作

但我总是遇到同样的错误:

有什么建议为什么在这种情况下无法停用 AudioSession?

0 投票
1 回答
317 浏览

ios - 在后台播放声音提醒序列暂停音乐并且不被其他声音停止

我想为 iPhone 编写应用程序,它可以播放音频提醒序列,并与其他应用程序产生的声音进行良好的交流。

更具体地说,我想实现以下几点:
1. 每 10 秒播放一次声音提醒。(这是为了简化问题,在我的应用程序中有一个时间序列,指定何时播放提醒)
2. 声音应该在后台工作。
3.如果音乐播放应该暂停,我的应用程序应该产生音频提醒,然后音乐恢复。
4. 如果其他应用程序开始使用声音,我的提醒序列应该继续工作(例如,我的应用程序运行后开始播放音乐或来电)。

使用下面的代码,我能够实现第 1 点和第 2 点。但我无法实现如何同时实现第 3 点和第 4 点。

如果我audioPlayerDidFinishPlaying按照下面的代码进行更新,则会恢复其他声音(第 3 点。),但我序列中的下一个提醒不再调用(与第 2 点相关。)

而且我还没有意识到如何恢复提醒序列,例如来电后。(第 4 点)

即使是部分答案对我也很有帮助。提前致谢。

0 投票
1 回答
501 浏览

ios - 如果用户接听电话,则停止播放音频

我有一个可以在后台播放音乐的播放器应用程序。我正在使用AVAudioSessionDelegate来实现方法- (void)beginInterruption- (void)endInterruption但我不知道如何确定用户是否在电话中接听或没有接听。如果他接听电话,我不想继续播放音乐,但如果他不同意,我想继续播放。

0 投票
2 回答
2581 浏览

iphone - AVPlayer 不会在 iPhone 上的 endinterruption 时恢复播放,但在 iPad 上会这样做

我正在为 iPhone 和 iPad 编写一个广播应用程序,并且在处理暂停和播放音频时遇到了一些奇怪的行为。我正在使用 AVAudioSessionDelegate 方法beginInterruptionendInterruption来分别pauseplayAVPlayer。下面是相关play代码。

现在,以下情况似乎一直在发生:

  1. 在 iPad 上:如果我强制中断(Facetime 通话),beginInterruption按预期调用并停止播放。如果中断停止,endInterruption则按预期调用,并按预期恢复播放。
  2. 在 iPhone 上:按下播放和暂停按钮,触发和pauseplay完全一样。播放按预期进行。beginInterruptionendInterruption
  3. 在 iPhone 上:强制中断(通过拨打电话)、按预期通话endInterruption和按预期暂停播放。但是,当中断结束时,beginInterruption按预期play调用,按预期调用,它实际上到达并执行该[self.player play],但播放不恢复!我什么也没听到。

上面的情况 3 非常奇怪,所以我想知道我是否忽略了一些东西。有任何想法吗?

Play代码

0 投票
2 回答
546 浏览

ios - 在 iOS 中以编程方式将 .Caf 文件转换为更标准的格式

我知道这已经被问到了,但找不到一个直接的答案。我的应用程序将 .caf 文件从 ios 上传到 Webserver,其中 .caf 不是可识别的格式。在上传到服务器之前,我应该在 iOS 中以编程方式将其转换为 mp3、.wav..etc 吗?