6

バックグラウンドでビデオ/カメラビューを表示しようとしていますが、アプリでさまざまなアクションの触覚フィードバックも許可していますが、AVFoundation は、私が行っている触覚呼び出しを含む呼び出しのいずれでもうまく機能していないようです:

if #available(iOS 10.0, *) {
    let generator = UIImpactFeedbackGenerator(style: .light)
    generator.prepare()
    generator.impactOccurred()
    
    // More:

    let feedbackGenerator  = UISelectionFeedbackGenerator()
    feedbackGenerator.selectionChanged()
}

AVFoundation の内容がコメントアウトされている限り、触覚フィードバックは期待どおりに機能します。何か案は?

使用:

captureSession = AVCaptureSession()

と:

previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
4

2 に答える 2

2

AVCaptureSession を使用している場合、おそらく次のようなコードがあると思います。

do {
    let audioDevice = AVCaptureDevice.default(for: .audio)
    let audioDeviceInput = try AVCaptureDeviceInput(device: audioDevice!)

    if captureSession.canAddInput(audioDeviceInput) {
        captureSession.addInput(audioDeviceInput)
    } else {
        print("Could not add audio device input to the session")
    }
} catch {
    print("Could not create audio device input: \(error)")
}

そのため、オーディオ入力はハプティック エンジンでうまく再生されません。ハプティックを再生する前に、キャプチャ セッションからオーディオ入力を削除してから、再度追加する必要があります。

于 2018-04-24T19:39:13.543 に答える