将音频输出重定向到手机扬声器,将麦克风输入重定向到耳机

2024-02-28

是否可以将音频输出重定向到手机扬声器并仍然使用麦克风耳机输入?

如果我将音频路由重定向到手机扬声器而不是耳机,它也会重定向麦克风。这是有道理的,但我似乎不能仅仅重定向麦克风输入?有任何想法吗?

这是我用来将音频重定向到扬声器的代码:

UInt32 doChangeDefaultRoute = true;        
propertySetError = AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof(doChangeDefaultRoute), &doChangeDefaultRoute);
NSAssert(propertySetError == 0, @"Failed to set audio session property: OverrideCategoryDefaultToSpeaker");
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);

这是可能的,但对如何设置它很挑剔。

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(audioRouteOverride), &audioRouteOverride);

使用起来非常重要AVAudioSessionCategoryPlayAndRecord否则路由将无法到达扬声器。设置音频会话的覆盖路由后,您可以使用AVAudioPlayer实例并向扬声器发送一些输出。

希望这对其他人有用,就像对我一样。有关于此的文档很分散,但 Skype 应用程序证明这是可能的。坚持下去,我的朋友们! :)

一些苹果文档在这里:http://developer.apple.com/library/ios/#documentation/AudioToolbox/Reference/AudioSessionServicesReference/Reference/reference.html http://developer.apple.com/library/ios/#documentation/AudioToolbox/Reference/AudioSessionServicesReference/Reference/reference.html

在页面上搜索kAudioSessionProperty_OverrideAudioRoute

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将音频输出重定向到手机扬声器,将麦克风输入重定向到耳机 的相关文章

  • 在 Xcode5 中使用 XCTest 时 AFNetworking 导致错误

    我正在使用 Xcode 5 现在刚刚开始对现有项目进行单元测试 为此我添加了CocoaTouch Unit Testing Bundle作为我的项目的目标 目标名称是 MyAppTests 我之前使用添加了 AFNetworking 库Co
  • 使 iOS 应用程序与 iPhone 6 和 iPhone 6 尺寸兼容 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我创建了一个应用程序 其中使用 xib 进行布局 目前我使用两种不同的 xib 一种用于iPhone4 320 480 一种用于iPh
  • SwiftUI:动态“列表”中的“切换”在重用时会破坏其布局?

    我试图展现一种动态List行包含Toggle元素 这Toggle最初布局正确 但是当它们滚动进和滚出视图时 即单元格重用时 它们的布局会中断 最小示例代码 import SwiftUI struct SwitchList View var
  • 对于使用 CCCrypt() 的 AES128,密钥可以长于 128 位吗?

    我正在使用CCCrypt https developer apple com library archive documentation System Conceptual ManPages iPhoneOS man3 CCCrypt 3c
  • 如何确定 NSTimeInterval 是否发生在任意 NSDate 期间?

    我有一个 NSTimeInterval 我想知道该时间戳是否位于日期的开始和结束之间 基本上我需要能够做类似的事情 NSDate today NSDate date NSTimeInterval myInterval someInterva
  • 在 iOS 中使用 FB SDK 是否需要 Facebook 的成功审核?

    现在我需要使用Facebook SDK来自我的 iOS 应用程序中的 Facebook 所以我填写了有关我的应用程序的信息developer facebook com应用程序详细信息 但是 当我用我的设备测试我的应用程序时 我可以发布到 F
  • 为什么 UITableViewCell 不可访问(对于 VoiceOver)

    我并不是想解决任何问题 当然你可以设置isAccessibilityEnabled true它有效 我的问题是 为什么它默认关闭并且界面生成器中没有适当的部分 在我看来 不建议使 UITableViewCell 子类可访问 有没有更好的方法
  • 如何重新定位或移动 Google Maps SDK 上的当前位置按钮?

    如何将 Objective C 中的当前位置按钮移至我的偏好 现在 我已启用它 但底角有东西挡住了它 Thanks 您可以使用 padding 将按钮向上移动 self mapView padding UIEdgeInsets top 0
  • 通过 renderInContext 定位要绘制的视图:

    我想画一个UIView在我目前的CGGraphicsContext 我画的是UIView via renderInContext 但它的位置不正确 始终位于左上角 我拥有所有的价值观UIView可用于绘制UIView CGRect fram
  • 使用 AVFoundation 裁剪 AVAsset 视频

    我在用AVCaptureMovieFileOutput录制一些视频 我使用显示预览层AVLayerVideoGravityResizeAspectFill稍微放大 我遇到的问题是最终的视频较大 包含预览期间不适合屏幕的额外图像 这是预览和生
  • 从 iOS 13 开始安排 iOS 后台任务

    我正在实现用于更新数据的BackgroundTasks 框架 但我遇到了以下问题 无法计划刷新App 错误域 BGTaskSchedulerErrorDomain代码 1 空 无法安排数据提取 Error Domain BGTaskSche
  • 以弯曲格式显示文本

    我正在寻找以曲线格式绘制一些文本 我使用哪个控件并不重要 UITextField UILabel or UITextView 我只想显示如图所示的文本 仍在寻找解决方案 请帮忙 查看此链接 https nodeload github com
  • 不明白 Swift 中的闭包示例

    我正在尝试了解 swift 和闭包 我被这个例子困住了 numbers map number Int gt Int in let result 3 number return result 什么是 number Int gt Int 它是一
  • 沙盒尝试恢复消耗性 IAP

    我一直在尝试在 iOS 上测试一些消耗性 IAP 但遇到了一个奇怪的错误 弹出一条警报 其中包含以下文本 此应用内购买已被购买 它将恢复为 自由的 环境 沙盒 我已经检查过 并且确定我的 IAP 可以在 iTunesConnect 中使用
  • 在文本视图滚动之前无法看到 UITextView 中的文本

    我的应用程序中有一堆文本视图 由于某种原因 无论我以编程方式 来自互联网 还是通过界面生成器 硬编码 设置 UITextView 文本 无论我做什么 当我在测试时转到该文本视图时它都是空白的 但当我滚动它的那一刻 所有文本就突然出现了 只是
  • iOS 解决方法:在没有 CSS 属性的情况下平滑滚动 滚动行为:平滑?

    编辑 我找到了一个 jQuery 解决方案 https codepen io chriscoyier pen dpBMVP https codepen io chriscoyier pen dpBMVP这个确实可以在 iOS 上运行 我想
  • 可以获取位置,但无法获取航向

    我目前只使用模拟器 但我在 iOS 模拟器上快速使用 CoreLocation 时遇到问题 我得到此代码打印的位置更新 但从未得到标题 我不想当然 我正在尝试制作一个指南针类型的应用程序 它将显示目标的方位 class CompassVie
  • AWS S3 公共对象与私有对象?

    回到 S3 我的存储桶中有图像的 URL 我将在我的应用程序中呈现这些图像 但它们被设置为私有 当我尝试单击该链接时 它显示 访问被拒绝 当我将链接的设置更改为公共时 它会通过 但是我读到公共访问并不是最安全的事情 所以这本质上是一个由两部
  • ios - 在哪里放置 s.static_framework = true

    我在 CocoaPods 中的级别为 0 当我使用pod install有一个错误说 The Pods App target has transitive dependencies that include static framework
  • ios 导航 堆栈操作

    我在尝试从 iOS 应用程序操作导航堆栈时遇到问题 或者至少是由于这种操纵而产生的行为 我的情况 我有 3 个 ViewController 控制器a显示多个级别 控制器 b 是游戏视图 控制器 c 是某种分数 显然 我将在控制器 a 中选

随机推荐