草庐IT

AVAudiosession

全部标签

ios - 禁用 AVAudioSession 后 Unity 声音无法正常工作

我目前正在开发Unity3DiOS插件。我正在尝试更改应用程序的AVAudioSession类别以实现音频回避(即音乐应用程序音量在我的音效播放时降低),这需要将AVAudioSession设置为非事件状态然后再次激活。好吧,在我使用[[AVAudioSessionsharedInstance]setActive:NOer​​ror:nil]将session设置为非事件状态后,Unity声音将不再起作用,即使session设置为再次活跃。原生声音仍然有效,因为我测试了AVAudioPlayer并且它完美运行。知道哪里出了问题吗? 最佳答案

iOS Force Audio Output only to headset 插孔

我想将iOSVoiceOver声音定向到耳机,即使它没有插入。换句话说,当我的应用程序打开时,VoiceOver声音(以及我在应用程序中使用AVSpeechUtterance等播放的其他声音)永远不会进入扬声器,但应该从耳机中发出,如果已连接。有人可以对此提出建议吗? 最佳答案 iOS设备不会为音频输出打开耳机插孔,除非当前已将可识别的(适当的阻抗等)耳机插入插孔。如果插入了有效耳机且未被覆盖,VoiceOver音频将始终进入耳机。 关于iOSForceAudioOutputonlyto

ios - 如何检测 iOS 中是否连接了 HFP 或 A2DP?

我正在做一个可以通过HFP设备播放音乐的项目。但是这里有一个问题,我想在播放音乐时检测是否连接了HFP或A2DP。现在我正在使用AVFoundation框架来执行此操作。这是代码:-(BOOL)isConnectedToBluetoothPeripheral{BOOLisMatch=NO;NSString*categoryString=[AVAudioSessionsharedInstance].category;AVAudioSessionCategoryOptionscategoryOptions=[AVAudioSessionsharedInstance].categoryOpt

ios - 来自视频 : Default to speaker 的 Swift 音频

我正在尝试在iPhone上播放视频,如果视频中的音频能在iPhone扬声器上播放,那就太理想了。但是,我在控制台上收到此错误:audioSessionerror:Theoperationcouldn’tbecompleted.(OSStatuserror-50.)这是我的代码::letplayer=AVPlayer(url:video_url)letaudioSession=AVAudioSession.sharedInstance()do{tryaudioSession.overrideOutputAudioPort(AVAudioSessionPortOverride.speake

ios - 如何在 XCode 中为不同版本的 iPhone 操作系统编写代码?

我似乎有一个错误,因为我在3.0-4.0.2的iPhone项目中使用-[AVAudioSessionsetActive:withFlags:error:]。所以我想我需要将这些#IF行之一放入其中,这样我就可以让它根据操作系统版本做不同的事情……但我不知道该怎么做。 最佳答案 您只需检查您尝试调用的方法是否真的存在:if([AVAudioSessionrespondsToSelector:@selector(setActive:withFlags:error:)]){//callit}

objective-c - 为什么 iOS 不通知我的应用程序 Audio Session 中断?

我正在使用AVPlayer播放来自不同来源(包括iPod音乐库)的声音。由于AVPlayer是更底层的AVAudioPlayer,我必须自己处理中断。使用AVAudioPlayer不是一个选项!在Apple开发人员文档中,他们提到要监听AVAudioSessionInterruptionNotification或使用AudioSessionInitialize设置监听器。但是这样做时,我仅在中断结束时收到通知,但由于theirdocuments我的应用程序应该能够处理这两种情况。我正在使用以下代码来初始化我的AudioSession:(简化版本,删除了不重要的行)AudioSessio

ios - 在 applicationWillResignActive : is called 后,Sprite Kit 中运行音频文件的操作停止运行

我的应用程序中的所有内容在正常使用期间都运行良好。但是,如果应用程序被电话打断,当应用程序恢复时,播放声音文件的操作将不再播放声音文件。每次打电话前都会播放。关于导致此问题的原因/如何解决这个问题的任何想法? 最佳答案 当涉及到将您的应用程序发送到后台的中断(例如电话、按主页按钮等)时,使用SKAction运行音频是不可靠的...解决方案是使用AVAudioPlayer来代替短暂的音效。你必须:仅将AVAudioPlayer用于您的所有音频,因为它经过设计和测试可以处理中断。将NSData用作与AVAudioPlayer一起使用的声

ios - 使用 AVAudioSession 我可以播放耳机并从前置麦克风录音吗?

如果用户插入一副普通的耳机,我就可以做到这一点。但是,如果用户插入一组带有集成麦克风的耳机,则可以使用它进行录音。如果我将[AVAudioSessionsetPreferredInput:error:]设置为iPhone前置麦克风,则音频输出会从iPhone扬声器输出。[AVAudioSessionoverrideOutputAudioPort:error:]只有扬声器选项,没有。有没有办法覆盖耳机? 最佳答案 您是否尝试在您用于录制的AVCaptureSession上将automaticallyConfiguresApplicat

iOS - 开始录音时,蓝牙设备认为我正在打电话

我有一个录音应用程序。我遇到了一个问题,当我打开我的应用程序并且手机已与蓝牙设备配对时,一旦我开始录音,蓝牙设备就会认为我正在开始打电话。它发出去电声音,并在屏幕上显示“ONCALL”(一直在谈论BT设备),但当然没有实际通话。这就是我当前初始化session的方式:[[AVAudioSessionsharedInstance]overrideOutputAudioPort:AVAudioSessionPortOverrideNoneerror:nil];[[AVAudioSessionsharedInstance]setCategory:AVAudioSessionCategoryP

ios - 为什么 AVAudioPlayer 无法初始化? OSStatus 错误 1685348671?

我正在ViewController(语音备忘录)中录制音频。这行得通。只要用户不关闭ViewController,我就可以播放录制的音频。但是,如果用户关闭ViewController并再次打开ViewController,则初始化AVAudioPlayer会失败,OSStatus错误为1685348671。我还尝试使用NSData初始化播放器:NSData*data=[[NSDataalloc]initWithContentsOfURL:_outputFileURL];_player=[[AVAudioPlayeralloc]initWithData:dataerror:&error