草庐IT

AVAudiosession

全部标签

ios - AVAudioSession setCategory 不工作

我有一个视频捕捉应用程序,我希望能够在录制音频+视频的同时播放背景音乐。如果我在didFinishLaunchingWithOptions中将AVAudioSession类别设置为PlayAndRecord,我就可以完成此操作。然而,每当相机的View进入或退出前景时,这都会导致音频出现故障,并且显然无法摆脱:https://forums.developer.apple.com/message/74778#74778如果它只是在我开始/停止录制视频时发生,我可以忍受,但这意味着我需要将AVAudioSession类别从Ambient更改为PlayAndRecord当按下按钮时,这似乎也

ios - AVAudioRecorder/AVAudioSession 与 Apple Airpods

我看到这里已经提出了问题:AirPodsnotworkingasaninputsourceforVoiceRecorderApp我已经checkin了这个话题,但没有回应。但是,有谁知道AVAudioRecorder是否/为什么可能无法将AirPods用作在应用程序中录制音频的输入设备?我通过内置麦克风以及其他BT设备(Beats、便宜的BT扬声器电话等)进行录音,但在使用AirPods时我无法捕捉音频。此外,当要录制时,我循环访问可用的输入并强制输入为BT设备(参见下面的代码),在本例中为AirPods。同样,适用于除AirPods之外的所有其他BT设备。想法?关于我们在这里做错了什

ios - 有没有什么方法可以像 AVAudioSession 中的 availableInputs 那样获得 availableOutputs

我需要列出可用的输出(如BleutoothLE、HeadPhones、BuiltInReceiver),但我只能访问currentRoute的输出。任何人都可以访问所有可用的输出,请分享您的意见?提前致谢。 最佳答案 据我所知,你有两个选择:将MPVolumeView添加到您的View,并将showsVolumeSlider设置为0,并将showsRouteButton设置为1。这将放置一个系统提供的图标,用户可以从中选择可用的输出。AVAudioSession有一个非常有限的overrideOutputAudioPort方法,可以

ios - 如何在 AVSpeechUtterance 之后始终停止 AVAudioSession

我想要做的是让我的应用程序在后台音频应用程序播放音频时使用AVSpeechSynthesizer说出一段话。当我的应用程序说话时,我希望后台应用程序的音频“变暗”,然后在我的应用程序完成说话后恢复到原来的音量。在我的AudioFeedback类中,我初始化并设置了AVAudioSessions,如下所示:self.session=[AVAudioSessionsharedInstance];NSError*error;[self.sessionsetCategory:AVAudioSessionCategoryPlaybackwithOptions:AVAudioSessionCate

ios - AVAudioSession 的 OutputVolume 永远不变

SO上有很多问题和答案说[AVAudioSessionsharedInstance].outputVolume是检测设备音量的唯一方法。但它似乎不太正确。outputVolume永远不会改变,尽管它在第一次设置时是正确的(在应用程序启动时)。我做错了吗?除了读取outputVolume的值,我不知道还能做什么。我的直觉会告诉我这是一个错误,如果不是因为otherpeople。似乎做得很好。我还在iOS7和8上测试过它,所以它不是iOS8的错误。我在一个小测试项目中复制了同样的东西,所以我的项目中没有任何东西干扰它。另外:我很清楚铃声音量和音量之间的区别。我两个都改了,报告的音量还是没变

ios - 设置 AVAudioSession 类别对来自 WKWebView 的声音没有影响

当从WKWebView播放音频时,我似乎无法覆盖AVAudioSession类别或端口。使用普通的UIWebView时,相同的代码可以完美运行。AVAudioSession*session=[AVAudioSessionsharedInstance];[sessionsetCategory:AVAudioSessionCategoryPlayAndRecorderror:&err];我也试过像这样激活sharedInstance,但没有帮助:[sessionsetActive:YESerror:nil];以上代码对来自WKWebView的音频没有影响。我确实在Twitter上发现了一些

ios - AVAudioSession 配置给别人录音播放

我想配置AVAudioSession以便我可以录制带音频的视频并播放音乐应用程序(或任何其他产生声音的应用程序,通常是互联网radio应用程序)中的音乐我这样配置session:try?AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord,with:.mixWithOthers)try?AVAudioSession.sharedInstance().setActive(true,with:.notifyOthersOnDeactivation)当我的录音应用程序运行时,我可以开始播

ios - AVAudioSession 总是返回相同的 outputVolume

我有一个watchOS应用程序通过以下方式从iPhone父应用程序请求当前音量:session?.sendMessage(["getVolume":1],replyHandler:{replyDictinifletcurrentVolume=replyDict["currentVolume"]as?Float{NSLog("Currentvolumereceivedfromphonewithvalue:\(currentVolume)")}},errorHandler:{(error)->VoidinNSLog("Error::\(error)")//iOSappfailedtoget

ios - AVAudioSession 未检测到已连接的蓝牙设备

我正在使用以下代码来检测可用的输出,但它没有接收到我连接的蓝牙设备。我知道我的蓝牙设备已正确连接,因为我正在用它播放音乐。letsession=AVAudioSession.sharedInstance()fordescriptioninsession.currentRoute.outputs{ifdescription.portType==AVAudioSessionPortHeadphones{NSLog("headphonepluggedin")letalertActin=UIAlertAction(title:"Headphones",style:UIAlertActionSt

ios - AVAudioSession 重新激活问题

我收到以下错误:[0x19bf89310]AVAudioSession.mm:646:-[AVAudioSessionsetActive:withOptions:error:]:DeactivatinganaudiosessionthathasrunningI/O.AllI/Oshouldbestoppedorpausedpriortodeactivatingtheaudiosession.我已经阅读了这篇文章:iOS8AVAudioSessionsetActiveerror但是那里的解决方案并没有解决我的问题。这是:小应用(游戏)在AudioHelper.swift中处理音频背景音乐