• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 播放奇怪问题时的 AVAudioSession 记录

[复制链接]
菜鸟教程小白 发表于 2022-12-12 10:24:57 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

对于我正在制作的应用程序的一部分,我需要录制来自用户的音频。我选择使用 AVAudioRecorder 来执行此操作。

问题是当我开始录制音频时,设备上播放的所有音频都会暂停。然后,我查看了 Apple 文档中的 AVAudioSession 并将录制选项设置为:AVAudioSessionCategoryOptionMixWithOthers

问题在于,每当我开始录制时,设备上播放的任何音频都会从主外部扬声器切换到小型电话(通话)扬声器。

我的目标是录制音频,同时仍允许设备中的所有其他音频通过主扬声器输出。

我怎样才能做到这一点?

这是我目前的代码:

AVAudioSession *audioSession = [AVAudioSession sharedInstance];
    [audioSession setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&error];
    [audioSession setActive:YES error:&error];

    recorder = [[AVAudioRecorder alloc] initWithURL:url settings:settings error:&error];

    if(recorder != nil){
        [recorder prepareToRecord];
        recorder.meteringEnabled = YES;
        [recorder record];
        levelTimer = [NSTimer scheduledTimerWithTimeInterval:0.03 target:self selectorselector(levelTimerCallback userInfo:nil repeats:YES];
    }else{
        NSLog(@"Error: %@",[error description]);
    }//end if

谢谢!



Best Answer-推荐答案


也许您可以尝试使用 AVAudioSessionCategoryOptionDefaultToSpeaker。根据 AVAudioSession引用:

When using this option and no other audio route (such as a headset) is available, session audio will play through the device’s built-in speaker. When not using this option, and no other audio output is available or selected, audio will play through the receiver (a speaker intended to be held to the ear).

关于ios - 播放奇怪问题时的 AVAudioSession 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24276016/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap