• iOS OC环信实时语音切换听筒免提听不到声音报错:AVAudioSessionErrorCodeBadParam


    出现这个报错:AVAudioSessionErrorCodeBadParam

    先看看你的问题是不是在切换听筒免提的时候 听不到声音了,

    不是的可以继续搜索去了

     

    问题在这里

    把圈住的那个货换成这个就可以了:AVAudioSessionCategoryPlayAndRecord

     

     

    点开之后是这个

     

     

    解释如下:

    AVAudioSessionCategoryAmbient 或 kAudioSessionCategory_AmbientSound

    用于非以语音为主的应用,使用这个category的应用会随着静音键和屏幕关闭而静音。并且不会中止其它应用播放声音,可以和其它自带应用如iPod,safari等同时播放声音。注意:该Category无法在后台播放声音

     

     

     

     AVAudioSessionCategorySoloAmbient 或 kAudioSessionCategory_SoloAmbientSound

     

     类似于AVAudioSessionCategoryAmbient 不同之处在于它会中止其它应用播放声音。 这个category为默认category。该Category无法在后台播放声音

     

     

     

     AVAudioSessionCategoryPlayback 或 kAudioSessionCategory_MediaPlayback

     

     用于以语音为主的应用,使用这个category的应用不会随着静音键和屏幕关闭而静音。可在后台播放声音

     

     

     

     AVAudioSessionCategoryRecord 或 kAudioSessionCategory_RecordAudio

     

     用于需要录音的应用,设置该category后,除了来电铃声,闹钟或日历提醒之外的其它系统声音都不会被播放。该Category只提供单纯录音功能。

     

     

     

     AVAudioSessionCategoryPlayAndRecord 或 kAudioSessionCategory_PlayAndRecord

     

     用于既需要播放声音又需要录音的应用,语音聊天应用(如微信)应该使用这个category。该Category提供录音和播放功能。如果你的应用需要用到iPhone上的听筒,该category是你唯一的选择,在该Category下声音的默认出口为听筒(在没有外接设备的情况下)。

     

     

     

     注意:并不是一个应用只能使用一个category,程序应该根据实际需要来切换设置不同的category,举个例子,录音的时候,需要设置为AVAudioSessionCategoryRecord,当录音结束时,应根据程序需要更改category为AVAudioSessionCategoryAmbient,AVAudioSessionCategorySoloAmbient或AVAudioSessionCategoryPlayback中的一种。

     

     

  • 相关阅读:
    「斜杠」 ​​​​​​​​​​​​​​写出我心(一百一十三)
    「心就像一杯水」​​​​​​​​​​​​​写出我心(一百一十二)
    「一切速成都是耍流氓」​​​​​​​​​​​​写出我心(一百一十一)
    「生活方式」​​​​​​​​​​​写出我心(一百一十)
    反人类直觉
    编程语言居然是魔法咒语!
    PyInstaller 打包 python程序成exe
    .NET线程池最大线程数的限制-记一次IIS并发瓶颈
    为何要花费精力琢磨人工意识?
    Coder解压探索===冥想补蓝v.1.0
  • 原文地址:https://www.cnblogs.com/xujiahui/p/7459810.html
Copyright © 2020-2023  润新知