将关于录制麦克风信号的旧 swift 代码行翻译为 swift 4.2

Posted

技术标签:

【中文标题】将关于录制麦克风信号的旧 swift 代码行翻译为 swift 4.2【英文标题】:translating a older swift line of code about recording a mic signal to swift 4.2 【发布时间】:2018-08-25 22:44:15 【问题描述】:

我在旧版本的应用中得到了这个

var recSession: AVAudiosession!
recSession = AVAudioSession.sharedInstance()
try recSession.setCategory(AVAudioSession.Category.playAndRecord)

我应该如何将最后一行翻译成 swift 4.2。

setCategory 已弃用,但有什么替代方案?

【问题讨论】:

解决了 OOPer 他在下面的评论。 【参考方案1】:

试试这个:

try recSession.setCategory(.playAndRecord, mode: .default)

好像Apple is recommending to set category and mode at the same time。

注意

而不是单独设置您的类别和模式属性, 建议您同时使用 setCategory:mode:options:error: 方法。

AVAudioSessionmode 默认为AVAudioSession.Mode.default,所以如果你的应用不改变它,上面的代码应该可以工作。

【讨论】:

非常感谢。构建成功。这是最后一期。

以上是关于将关于录制麦克风信号的旧 swift 代码行翻译为 swift 4.2的主要内容,如果未能解决你的问题,请参考以下文章

Swift 4 AVFoundation - 同时录制多个音频源

Swift AVAssetWriter 将带有麦克风音频和设备音频的视频录制成带有一个音轨 AVAssetTrack 的视频

录制时通过 Swift OSX 音频

如何设置 10 秒的视频录制限制并实时删除 10 秒的旧电影部分 - Swift iOS

如何在 Android 中同时录制 2 个麦克风?

开始录制视频时 Swift 文件 URL 为零