如何在录像机初始化并打开静音切换后保持视频播放器静音?
在我正在处理的应用程序中,我有一个视频播放器(将其称为播放器)和一个录像机(将其称为录像机)。如果手机处于静音模式(设备侧面的开关打开以禁用声音),播放器在进入应用程序时保持静音,这是预期的和期望的结果。但是在录音机开始运行会话后,这种行为会丢失,虽然启用了静音模式,但视频会大声播放。
我特别知道在startRunning
调用AVCaptureSession
时会发生这种情况。
我也知道原因是在[AVAudioSession sharedInstance]
category
或mode
属性中的某个位置,它似乎在会话开始运行后立即更改。
所以我现在所做的就是打电话
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategorySoloAmbient error:&error];
[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeDefault error:&error];
记录完成后重置会话。问题是大多数但不是所有情况都有效,有时报告错误,有时会延迟,有时根本不起作用。
我正在寻找的可能解决方案(任何人都可以):
一个重要的信息是,我一直初始化播放器和录音机以便快速使用。我也可以控制播放器静音。
我用于播放器的内容:
AVFoundation
AVPlayer
AVPlayerLayer
AVAsset
实施非常标准。
我用于录音机的内容:
AVFoundation
AVCaptureDeviceInput
AVCaptureMovieFileOutput
AVCaptureVideoPreviewLayer