我嘗試創建應用程序,在此可以在錄製過程中從設備上的不同相機錄製視頻。例如, 。用戶按下前面攝像頭的「開始錄像」按鈕,5秒鐘錄像後,按下「切換攝像頭」按鈕,應用程序將視頻源從前置攝像頭改爲後置攝像頭,並繼續錄像。 對於相機交換臺我用下面的代碼:開關相機後音頻/視頻不同步
NSError *error;
AVCaptureDeviceInput *newVideoInput;
AVCaptureDevicePosition currentCameraPosition = [[videoInput device] position];
if (currentCameraPosition == AVCaptureDevicePositionBack)
{
currentCameraPosition = AVCaptureDevicePositionFront;
}
else
{
currentCameraPosition = AVCaptureDevicePositionBack;
}
AVCaptureDevice *backFacingCamera = nil;
NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
for (AVCaptureDevice *device in devices)
{
if ([device position] == currentCameraPosition)
{
backFacingCamera = device;
}
}
newVideoInput = [[AVCaptureDeviceInput alloc] initWithDevice:backFacingCamera error:&error];
if (newVideoInput != nil)
{
[_captureSession beginConfiguration];
[_captureSession removeInput:videoInput];
if ([_captureSession canAddInput:newVideoInput])
{
[_captureSession addInput:newVideoInput];
videoInput = newVideoInput;
}
else
{
[_captureSession addInput:videoInput];
}
//captureSession.sessionPreset = oriPreset;
[_captureSession commitConfiguration];
}
_inputCamera = backFacingCamera;
這種器件的應用改變視頻SOURSE後,繼續寫作,但...音頻/視頻不同步...... 可有人hehp我解決這個問題?
謝謝。
有同樣的問題。 – Liron