【问题标题】:Swift 3: How to mute / unmute microphone during video recording using AVFoundationSwift 3:如何在使用 AVFoundation 录制视频期间将麦克风静音/取消静音
【发布时间】:2017-01-12 08:15:57
【问题描述】:

我正在录制视频,使用 AVFoundation 和 Swift 3 创建自定义摄像头。现在,我想在单击按钮的视频录制过程中添加静音/取消静音音频的功能。我该如何实现?

【问题讨论】:

    标签: ios iphone swift xcode


    【解决方案1】:

    希望您使用AVCaptureMovieFileOutput 录制来自AVFoundation 的视频

    没有直接的方法,但是如果您仔细阅读文档,您可以看到

    • AVCaptureMovieFileOutputAVCaptureOutput 的子类
    • 您可以通过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。

    【讨论】:

      猜你喜欢
      • 2023-03-21
      • 1970-01-01
      • 2016-06-01
      • 2012-07-31
      • 1970-01-01
      • 2017-10-26
      • 1970-01-01
      • 2012-06-03
      • 2014-05-07
      相关资源
      最近更新 更多