首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏即时通信与音视频

    TXLiteAVSDK中使用 AVAudioSession 问题总结

    常见问题 在 iOS 端做音视频相关 App 过程中咱们经常会遇到音频管理的相关问题,下面介绍一下 AVAudiosession 的基本使用,并结合使用腾讯云视频 TXLiteAVSDK 项目中碰到的一些问题场景实现分享 ---- AVAudiosession 使用 //设置音频模式 [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback ] setActive:YES error:nil]; 在 iOS 端使用 AVAudioSession 来管理音频,最简单的使用如上设置下音频模式,然后激活音频会话就可以了。 现实情况中不同的 App 场景各不相同,我们通过设置 AVAudioSession 音频会话的 category(模式)和 option(选项)来达到自己想要的效果。 音频问题 如何修改 TXLiteAVSDK 内部的 AVAudioSession 音频模式?

    5.6K21发布于 2019-07-07
  • 来自专栏iOS 备忘录

    iOS 音频后台播放 && 锁屏显示及控制

    图片如下: 注意设置AVAudioSession,播放前根据实际需要设置,播放后关闭 AVAudioSessionCategory类型 Category类型 当按”静音”或者锁屏时是否静音 是否可以和其他支持混音的 ().setActive(true, options: AVAudioSession.SetActiveOptions.notifyOthersOnDeactivation) // 根据实际需要切换设置不同的 Category try AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback , options: AVAudioSession.CategoryOptions.duckOthers) } catch { print("set AudioSession error 各种姿势 TXLiteAVSDK中使用 AVAudioSession 问题总结 iOS - AVAudioSession

    3.8K20编辑于 2023-10-16
  • 来自专栏移动端开发

    AVFoundation 框架初探究(一)

    替换掉,这个我们在下面的介绍中会说AVAudioSession这个类 AVAudioRecorder INTERRUPTION NOTIFICATIONS ARE DEPRECATED - Use AVAudioSession 我们接着往下在看: AVAudioSession ----       AVAudioSession 我们也是需要了解的,通过它可以实现对App当前上下文音频资源的控制,比如插拔耳机、接电话、是否和其他音频数据混音等 带着这些问题,我们来看看AVAudioSession。 一:首先AVAudioSession它是被写成了一个单例的 /* returns singleton instance */ + (AVAudioSession*)sharedInstance; 二 . */ @property(readonly) NSString *category;   这个只读属性可以帮助我们获取到AVAudioSession的category,你首先不要给我们的AVAudioSession

    3.4K50发布于 2018-03-19
  • 来自专栏sweet_iOS

    AVFoundation框架解析看这里(3)- 音频AVAudio

    单例,使用流程为:获取单例AVAudioSession ——> 设置Category和Options ——> 激活回话。 (<#T##category: AVAudioSession.Category##AVAudioSession.Category#>, mode: <#T##AVAudioSession.Mode#>, AVAudioSession.Category.png 即: ambient 用于非以语音为主的应用,只支持音频播放。 AVAudioSession Options.png AVAudioRecorder 讲完AVAudioSession,我们再来看看AVAudioRecorder。 AVAudioSession负责管理系统音频硬件,当我们准备录音时,配置AVAudioSession上下文,用AVAudioRecorder来实现音频录制。

    2.5K20发布于 2020-12-23
  • 来自专栏Helloted

    开发之声音

    settings:self.recorderSetting error:nil]; if ([self.voiceRecorder prepareToRecord]){ [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error:nil]; [[AVAudioSession 如果在播上一段录音,同时再点播放的话,两个声音会一起播放 if (_player) { // 如果正在播放上一段录音,则停止 [_player stop]; } [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error:nil]; [[AVAudioSession sharedInstance

    1.5K10编辑于 2022-06-07
  • 来自专栏andy的小窝

    iOS WebView内联播放视频无声音

    webView.allowsInlineMediaPlayback = YES; 之后发现webview播放的视频无声音,解决方法如下,开启音频 //Enable Audio NSError *error; [[AVAudioSession error]; if (error) { NSLog(@"Error in setting category = %@", error); //handle error here. } [[AVAudioSession

    2.3K20发布于 2020-02-12
  • 来自专栏進无尽的文章

    多媒体-图片、音频、视频的基本实现

    AVFoundation的录音和播放 音频的录制与播放主要和三个类有关AVAudioSession,AVAudioRecorder,AVAudioPlayer。 AVAudioSession AVAudioSession类由AVFoundation框架引入,每个iOS应用都有一个音频会话,这个会话可以被AVAudioSession类的sharedInstance 类方法访问,如下: AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 在获得一个AVAudioSession类的实例后,你就能通过调用音频会话对象的 进行音频录制的时候,需要设置一些参数,下面就是参数的说明,并且写下了音频录制的代码: //音频开始录制 - (void)startRecordWithFilePath:(NSString *)path{ [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error:nil]; [[AVAudioSession sharedInstance

    2.7K11发布于 2018-09-12
  • 来自专栏码客

    iOS听筒和外放切换

    notification:NotificationCenter){ do{ if(UIDevice.current.proximityState){ try AVAudioSession.sharedInstance ().setCategory(AVAudioSessionCategoryPlayAndRecord); }else{ try AVAudioSession.sharedInstance

    1.3K10发布于 2019-10-22
  • 来自专栏APP自动化测试

    iOS-文本转语音

    AVAudioSession *session = [AVAudioSession sharedInstance]; NSError *error; if (!

    1.2K20发布于 2019-10-15
  • 来自专栏谈补锅

    iOS开发之多媒体API (转载)

     sharedInstance] setActive:YES error:&error];  AVAudioSession 是iOS提供音频会话类,音频会话是指定应用程序与音频系统如何交互。 AVAudioSession 通过指定一个音频类别(Category)实现的,音频类别(Category)描述了应用程序使用音频的方式。 下面是语句是设定音频会话类别: [[AVAudioSession sharedInstance]setCategory:AVAudioSessionCategoryRecord error:&error [[AVAudioSession sharedInstance]  setActive:YES error:&error];    音频录制方法 NSMutableDictionary *settings fileUrl = [NSURL fileURLWithPath:filePath];      NSError *error = nil;  // [self setPlayer:nil];      [[AVAudioSession

    1.9K20发布于 2018-09-27
  • 来自专栏正则

    WKWebView音视频媒体播放处理

    HTML 音频/视频参考手册 video 属性和事件用法大全 iOS与JS交互之WKWebView-WKScriptMessageHandler协议 2.2 还有一种是App可自己实现的,使用AVAudioSession 进行监听: 使用AVAudioSession监听,必须用到AVAudioSessionCategoryOptionMixWithOthers。 NSError *sessionError = nil; [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback AVAudioSessionCategoryOptionMixWithOthers error:&sessionError]; [[AVAudioSession AVAudioSessionSilenceSecondaryAudioHintNotification object:[AVAudioSession

    5K40发布于 2021-10-28
  • 来自专栏关键帧Keyframe

    iOS AVDemo(1):音频采集,免费获取全部源码丨音视频工程示例

    // 这个数据回调的间隔是 [AVAudioSession sharedInstance].preferredIOBufferDuration,频率即该值的倒数。 我们可以通过 [[AVAudioSession sharedInstance] setPreferredIOBufferDuration:1 error:nil] 设置这个值来控制回调频率。 AVAudioSession *session = [AVAudioSession sharedInstance]; // 2、设置分类和选项。 [session setActive:YES error:&error]; if (error) { NSLog(@"AVAudioSession setActive error : https://developer.apple.com/documentation/avfaudio/avaudiosession/ - 完 -

    1.4K40编辑于 2022-06-13
  • 来自专栏iOS开发攻城狮的集散地

    iOS 传感器集锦

    selector(proximityStateDidChange:) name:UIDeviceProximityStateDidChangeNotification object:nil]; AVAudioSession *audioSession = [AVAudioSession sharedInstance]; //默认情况下扬声器播放 [audioSession setCategory:AVAudioSessionCategoryPlayback if ([UIDevice currentDevice].proximityState) { NSLog(@"有东西靠近"); //听筒播放 [[AVAudioSession AVAudioSessionCategoryPlayAndRecord error:nil]; } else { NSLog(@"有物体离开"); //扬声器播放 [[AVAudioSession

    2K80发布于 2018-05-21
  • 来自专栏iOS开发攻城狮的集散地

    iOS小结

    baseURL:nil]; webViewBG.userInteractionEnabled = NO; [self.view addSubview:webViewBG]; //后台播放音频设置 AVAudioSession *session = [AVAudioSession sharedInstance]; [session setActive:YES error:nil]; [session setCategory

    74060发布于 2018-05-22
  • 来自专栏晓说AI

    手写一句话识别demo笔记

    5.1 内置录音器调用 功能:在启动录音器前设置AVAudioSession的Category属性; 设置方法: /**  * 通过传录音器调用一句话识别  */ - (void)recognizeWithRecorder [[AVAudioSession sharedInstance].category isEqualToString:AVAudioSessionCategoryRecord]) { NSLog(@"set  set audio session category"); NSError *error = nil;             [[AVAudioSession sharedInstance] setCategory AVAudioSessionCategoryRecord error:&error]; if (error) { NSLog(@"error %@", error);             }             [[AVAudioSession startRecognizeWithRecorder];     } } 其中参数值:0表示取消默认设置;1表示采用默认设置(默认) 5.1.1 录音器DEACTIVE参数 功能:在录音器是否显示一直录音状态的设置方法 [[AVAudioSession

    1.1K20发布于 2020-04-22
  • 来自专栏一“技”之长

    iOS后台音频播放及锁屏界面显示音频信息 原

    然后进行如下代码设置:     AVAudioSession *session = [AVAudioSession sharedInstance];     [session setActive:YES

    3.7K30发布于 2018-08-16
  • 来自专栏腾讯Bugly的专栏

    手把手教你如何分析 iOS 系统栈 crash

    libAVFAudio.dylib`AVAudioSessionPropertyListener(void, unsigned int, unsigned int, void const) + 1768 而此行是调用函数 -[AVAudioSession ---- 第七步 逆向 -[AVAudioSession privateConfigureRouteDescription:] 函数逻辑大概如下 lock { get orgDes newdes hook -[AVAudioSession privateConfigureRouteDescription:] 内部调用原函数之后加上 retain autorelease?

    2.2K81发布于 2018-03-23
  • 来自专栏iOS 音视频接入-TRTC

    手动集成TRTC后运行报错,+[AVAudioSession txc_enableHook:]

    TRTC SDK后运行工程崩溃提示“erminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[AVAudioSession

    91220编辑于 2022-02-11
  • 来自专栏关键帧Keyframe

    iOS AVDemo(3):音频封装,采集编码并封装为 M4A丨音视频工程示例

    AVAudioSession *session = [AVAudioSession sharedInstance]; // 2、设置分类和选项。 [session setMode:AVAudioSessionModeVideoRecording error:&error]; if (error) { NSLog(@"AVAudioSession [session setActive:YES error:&error]; if (error) { NSLog(@"AVAudioSession setActive error 参考资料 [1]CMSampleBufferRef: https://developer.apple.com/documentation/coremedia/cmsamplebufferref/ [2]AVAudioSession : https://developer.apple.com/documentation/avfaudio/avaudiosession/ - 完 -

    78620编辑于 2022-06-13
  • 来自专栏正则

    AVKit框架详细解析(四) —— 基于AVKit 和 AVFoundation框架的视频流App的构建

    幸运的是,通过调整 AVAudioSession 的设置来解决这个问题并不难。 AVAudioSession.sharedInstance().setCategory( AVAudioSession.Category.ambient, mode: AVAudioSession.Mode.moviePlayback , options: [.mixWithOthers]) } 在这里,您告诉共享的 AVAudioSession 您希望您的音频属于环境类别。 默认是 AVAudioSession.Category.soloAmbient,它解释了关闭来自其他应用程序的音频。 AVAudioSession.sharedInstance().setCategory(.playback) } 在初始化程序中,确保调用此方法而不是旧方法: init() { setVideoPlaybackCategory

    9.4K10发布于 2021-09-04
领券