Swift 3:如何在使用 AVFoundation 录制视频期间将麦克风静音/取消静音
Posted
技术标签:
【中文标题】Swift 3:如何在使用 AVFoundation 录制视频期间将麦克风静音/取消静音【英文标题】:Swift 3: How to mute / unmute microphone during video recording using AVFoundation 【发布时间】:2017-01-12 08:15:57 【问题描述】:我正在录制视频,使用 AVFoundation 和 Swift 3 创建自定义摄像头。现在,我想在单击按钮的视频录制过程中添加静音/取消静音音频的功能。我该如何实现?
【问题讨论】:
【参考方案1】:希望您使用AVCaptureMovieFileOutput
录制来自AVFoundation
的视频
没有直接的方法,但是如果您仔细阅读文档,您可以看到
AVCaptureMovieFileOutput
是 AVCaptureOutput
的子类
您可以通过func connection(withMediaType mediaType: String!) -> AVCaptureConnection!
单独从您的AVCaptureMovieFileOutput
获得音频连接,方法是将媒体类型作为音频传递
单独获得 auido 连接后,只需禁用它
swift 中的示例
let movieFileOutput : AVCaptureMovieFileOutput
// your code to initialize output
var audioConnection :AVCaptureConnection? = movieFileOutput.connection(withMediaType:AVMediaTypeAudio)
if let connection = audioConnection
connection.isEnabled = false;
表单文档
对于AVCaptureConnection
属性enabled
这个属性的值是一个BOOL,决定接收者的输出是否应该消费数据 会话运行时从其连接的 inputPorts 获取。客户端可以设置这个属性来停止 在捕获期间数据流到给定的输出。默认值为 YES。
【讨论】:
以上是关于Swift 3:如何在使用 AVFoundation 录制视频期间将麦克风静音/取消静音的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 3 中使用 NSLocale 获取国家代码
如何在 Swift 3 中使用 UnsafeMutablePointer?
如何在 Swift 3.0 中使用 keysSortedByValue?
如何使用 Swift 3 在 UIView 中覆盖 requiresConstraintBasedLayout?
如何使用 Swift 3 for iOS 在 ViewController.swift 中实现 UICollectionView