问题标签 [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.
objective-c - 无法在 iOS 的后台模式下重新启动中断的音频输入队列
我正在编写一个使用 AudioQueue 进行录制的 iOS 应用程序。我创建了一个配置为获取线性 PCM 的输入队列,声明了这个队列并且一切都按预期工作。
为了管理中断,我实现了 AVAudioSession 的委托方法来捕捉中断的开始和结束。endInterruption 方法如下所示:
如果应用程序在前台被中断,则一切正常。如果中断发生在后台,就会出现问题。激活音频会话会导致错误!cat:
指定的音频会话类别不能用于尝试的音频操作。例如,您尝试播放或录制音频会话类别设置为 kAudioSessionCategory_AudioProcessing。
在不激活会话的情况下启动队列会导致错误代码:-12985
此时,类别设置为AVAudioSessionCategoryPlayAndRecord,模式为AVAudioSessionModeDefault。
我找不到有关此错误消息的任何文档,也无法在后台重新启动输入音频队列。
ios - 静音按钮不会静音 AVAudioPlayer
我需要在我的 iPhone 应用程序中循环播放 .caf 文件。
AVAudioPlayer 看起来很有希望。但是有一个问题。即使我按下 iPhone 上的静音按钮,它也不会停止或静音。
而且我知道在 iOS 5 中无法以编程方式确定静音按钮是否被按下。
所以,我需要知道的可能是关于 AVAudioPlayer 或 AVAudioSession 的一些属性。或者,也许,我可能需要考虑其他库来循环播放我的 .caf 文件。
任何想法?
objective-c - 是否可以像音乐应用程序或 iTunes 那样将曲目标题添加到“正在播放控件”菜单中?
我正在创建一个播放器应用程序。我已经实现了 'remoteControlReceivedWithEvent:' 方法并且可以通过这个按钮(苹果指南)改变播放状态。但是,当从“音乐”或“iTunes U”应用程序播放某些内容时,遥控器下会出现歌曲标题。
有没有办法从我的播放器应用程序中显示我自己的文本?
提前致谢。
iphone - 为什么多任务处理回到我的应用程序有时会使其静音?
当我的应用程序 - bit.ly/totoyaApp - 出现在前台时,我设置:
当它进入后台时,我重置为:
它需要在每台设备上正确输出/输入声音。
但是当我多任务返回我的应用程序时,有时它会被静音,并且没有任何音频输出。仅在多任务处理时(!),并且仅来自特定应用程序(!)。如果我关闭一个正在运行的应用程序,然后再次启动,一切正常。
有没有类似的经历?这到底是怎么回事?
iphone - SoloAmbient 和 applicationDidEnterBackground
在我的应用程序进入后台后,我想设置 SoloAmbient(并使 iPhone 中的所有音乐静音)。
我写了这样的代码,但它不起作用
MyAppDelegate.h
MyAppDelegate.m
实际上,应用程序向我发送了一条日志“audioSession:NSOSStatusErrorDomain 560161140 (null)”,并且 iPhone 上的音乐(来自 iPod 或其他应用程序)仍在播放。
如何解决?怎么办,当应用程序进入后台时,它会打开 SoloAmbient 并使一切静音?也许还有其他机会睡音乐吗?
ios - iOS - AVAudioPlayer 在后台不会继续播放下一首歌曲
所以我有一个应用程序可以播放一堆歌曲,而用户可以翻阅一本漫画书。我使用 AVAudioPlayer 并将其设置为按固定顺序播放歌曲。因此,当一首歌曲结束时,下一首歌曲将播放。当应用程序打开时,这可以完美运行。当应用程序在后台时会出现问题。我将应用程序设置为在后台播放,效果很好。因此,当用户按下主屏幕时,音乐会继续播放。歌曲结束时会出现问题,假设像打开应用程序时一样播放下一首歌曲。相反,什么也没有发生。根据我的 NSLog 语句,正在调用正确的方法,但没有任何反应。这是我的代码:
上面是识别正在播放哪首歌的代码,然后设置正确的歌曲。然后它触发另一个设置播放器的方法。
现在我假设这不是最好的方法,但是当应用程序处于前台状态时它会很好。我一直在查看文档,但似乎无法找到导致此问题的原因。我希望有人能够看到我的方法有错误。就像我之前说的,正在调用 triggerSong 方法中的两个 NSLog,所以我看不出为什么没有调用 AVAudioPlayer(播放器)。
我的 info.plist 中也有正确的设置,并且我的 viewDidLoad 中有这个:
感谢您的任何见解。非常感激。
iphone - 在 iOS 中暂停/静音背景音乐
我有一个应用程序,它使用文本转语音偶尔向用户提供口头提示。目前我已经设置了它,以便 TTS 混合在另一个应用程序中播放的任何音乐。有什么方法可以在播放口头提示时暂时暂停/静音另一个应用程序中正在播放的音乐?
objective-c - 屏幕锁定时 AVAudioRecorder 不录制
我已经尝试克服这个问题一段时间了。我正在尝试录制声音,但屏幕锁定时 AVAudioRecorder 不录制。一旦屏幕解锁,它确实会继续录制,但屏幕锁定时录制的音频将永远丢失。我找不到我正在做的事情有什么问题:
请问有什么想法吗?
iphone - 体积变化不会改变应用体积
我们正在使用下面的代码并通过应用程序多次调用此代码来播放按钮和应用程序声音。目前我们遇到的问题是设备上的音量控制不会改变内部应用程序的音量。我们可以将音量一直关闭,应用程序仍会播放声音。有没有办法检测硬件音量控制何时发生变化并相应地更新音量?我们不想更新滑块只是让音频会话响应新设置的音量。非常感谢您提前。
iphone - 在后台启动 AVQueuePlayer
我有一个播放来自互联网的音频文件的 AVQueuePlayer。它可以在后台与应用程序一起执行并且做得很好(在后台播放并在后台异步获取新文件)。
当我允许 AVQueuePlayer 在将应用程序移动到后台之前开始播放时,一切都很好。为了开始播放我的应用程序必须先与几个服务通信,然后才能真正获得正确的文件来播放。
如果我在播放开始前的关键几秒钟内将应用程序移至后台,则 AVQueuePlayer 将不会播放。
为了能够在后台与服务对话,我总是首先通过 beginBackgroundTaskWithExpirationHandler 请求后台任务权限。
观察日志,我可以看到所有服务都正常完成(因此后台任务权限有效),并且 AVQueuePlayer 已使用多个 AVPlayerItems 正确初始化,但它不会开始播放。AVQueuePlayer.currentItem.status 也永远不会到达 AVPlayerStatusReadyToPlay。
我确保与 AVQueuePlayer 的所有交互都发生在主线程上。
我很困惑,如果应用程序在后台,无论我的设置如何,并且我拥有后台任务权限,AVQueuePlayer 都不会启动。
我以前能够用音频队列服务做类似的事情,但希望这次 AVQueuePlayer 和它更简单的 API 就足够了,但看来我必须回到音频队列服务和合作。