녹화 후 임시 디렉토리의 AVPlayer 비디오가 몇 초 후에 재생이 중지됨

로디온 쿠 스코프

비디오를 녹화하고 사진을 찍을 수있는 맞춤형 카메라가 있습니다. 문제는 녹화 된 비디오 미리보기로 viewController를 녹화하고 누른 후 몇 초 후에 비디오 재생이 중지된다는 것입니다. 따라서 흐름은 다음과 같습니다.

  1. 커스텀 카메라가 열렸습니다.
  2. 비디오를 녹화했습니다.
  3. 녹화 된 비디오 미리보기가있는 컨트롤러가 표시됩니다. (pushViewController (controller, animated : true)에 의해);
  4. 비디오 재생이 시작되었습니다.
  5. N 초 (1-2 초) 후 어떤 이유로 비디오가 중지되었습니다.

코드:

  1. didFinishRecordingTo outputFileURL :
        if let error = error {
            // handle error
            return
        }

        if let currentBackgroundRecordingID = backgroundRecordingID {
            backgroundRecordingID = UIBackgroundTaskIdentifier.invalid

            if currentBackgroundRecordingID != UIBackgroundTaskIdentifier.invalid {
                UIApplication.shared.endBackgroundTask(currentBackgroundRecordingID)
            }
        } 
       // open viewController and play recently recorded video from temporary files.
  1. setupVideoBackground ()-> viewDidLoad / viewWillAppear에서 호출되는 AVPlayer 구성 :
        let player = AVPlayer(url: url)
        player.actionAtItemEnd = .none

        let playerLayer = AVPlayerLayer(player: player)
        playerLayer.frame = self.view.frame
        playerLayer.videoGravity = .resizeAspectFill

        self.view.layer.insertSublayer(playerLayer, at: 0)

        player.seek(to: .zero)
        player.play()
  1. 뷰 컨트롤러 푸시 :
        let vc = TestController()
        vc.url = url!
        self.navigationController?.pushViewController(vc, animated: true)   

참고 : 한 가지 이상한 점은 animated : false와 함께 pushViewController를 사용하면 플레이어가 전체 비디오를 재생하고 animated : true이면 몇 초 후에 비디오가 중지된다는 것입니다. 또한 현재 뷰 컨트롤러는 완벽하게 작동합니다.

참고 2 : DispatchQueue를 사용하여 0.5 초 지연된 setupVideoBackground ()를 호출하면 비디오가 중지되지 않습니다.

이해할 수 없습니다. 왜 비디오가 올바르게 재생 pushViewController(vc, animated: false)되고 재생이 중지 되었는지pushViewController(vc, animated: true)

로디온 쿠 스코프

해결 방법 1 :viewDidDissapear 카메라 화면에 문제가있었습니다 . 있었다 cameraSession.stopSession(). stopSession이 호출 될 때마다 avplayer는 재생을 중지합니다. 그 이유와 방법을 모른다 AVCaptureSession.stopSession()관련이 AVPlayer있지만, 제거 cameraSession.stopSession()에서 viewDidDissapear고정 문제.

해결 방법 2 : AVAudioSession 범주를로 설정 .playAndRecord하면 비디오가 올바르게 재생됩니다.

try AVAudioSession.sharedInstance().setCategory(.playAndRecord, mode: .videoRecording, options: [.mixWithOthers])

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

몇 초 후 오디오 파일 재생이 중지됨

분류에서Dev

Android .ogg 파일이 몇 초 후에 재생이 중지됨

분류에서Dev

비디오 재생 후 몇 초 동안 작업 수행

분류에서Dev

USB에서 비디오를 재생하면 몇 시간 후에 전체 시스템이 정지됩니다.

분류에서Dev

Webm-검색 후 비디오 재생이 중지됨

분류에서Dev

The Amazing Audio Engine을 초기화 한 후 비디오 녹화 (GPUImage 사용)에 오디오가 없음

분류에서Dev

페이지로드 후 몇 초 후에 블록 표시

분류에서Dev

Windows 시작 후 몇 초 후에 소리가 멈춤

분류에서Dev

AVPlayer에서 현재 재생중인 비디오의 스트리밍 오디오 녹음

분류에서Dev

AVPlayer에서 현재 재생중인 비디오의 스트리밍 오디오 녹음

분류에서Dev

Firefox의 비디오가로드 된 후 일시 중지됨

분류에서Dev

Firefox의 비디오가로드 된 후 일시 중지됨

분류에서Dev

Drupal 8에서 몇 초 후에 페이지를 리디렉션하는 방법은 무엇입니까?

분류에서Dev

AVPlayer가 초기화 될 때 몇 번의 호출 후 AVAudioEngine.inputNode.inputFormat (forBus : 0) 변경

분류에서Dev

웹 오디오 API를 사용하여 지정된 시간 (밀리 초) 후에 사운드 재생 중지

분류에서Dev

스파이더 4-몇 초 후 마지막 단어의 자동 강조 표시 비활성화

분류에서Dev

임시 디렉토리 이름의 후행 문자열

분류에서Dev

AVPlayer가 VStack에서 제거 된 후에도 오디오가 계속 재생 됨 (SwiftUI)

분류에서Dev

Docker 컨테이너가 몇 초 후에 종료 됨

분류에서Dev

Ubuntu 14.04에서 몇 초 후 TTY가 공백이 됨

분류에서Dev

Java ScheduledExecutorService가 서블릿 초기화 후 잠시 중지됨

분류에서Dev

브라우저에서 몇 프레임 후 gstreamer webrtc h264 재생이 중지됨

분류에서Dev

페이지가로드 된 후 몇 초 후에 부트 스트랩 아코디언을 열 때 ui-grid가 비어 있습니까?

분류에서Dev

AVPlayer가 iOS8의 NSDocuments 디렉토리에서 비디오를 재생할 수 없습니다.

분류에서Dev

몇 시간 후 포 그라운드 서비스가 중지됨

분류에서Dev

몇 초 후 jQuery로 htlm5 비디오 플레이어 음소거

분류에서Dev

모달이 닫힌 후에도 비디오가 계속 재생 됨 Firefox

분류에서Dev

HTML [JAVASCRIPT]의 이미지는 몇 초 후에 변경됩니다.

분류에서Dev

html에서 비디오가 다시 재생 된 후 html5 비디오가 검은 색 화면이되는 루핑

Related 관련 기사

  1. 1

    몇 초 후 오디오 파일 재생이 중지됨

  2. 2

    Android .ogg 파일이 몇 초 후에 재생이 중지됨

  3. 3

    비디오 재생 후 몇 초 동안 작업 수행

  4. 4

    USB에서 비디오를 재생하면 몇 시간 후에 전체 시스템이 정지됩니다.

  5. 5

    Webm-검색 후 비디오 재생이 중지됨

  6. 6

    The Amazing Audio Engine을 초기화 한 후 비디오 녹화 (GPUImage 사용)에 오디오가 없음

  7. 7

    페이지로드 후 몇 초 후에 블록 표시

  8. 8

    Windows 시작 후 몇 초 후에 소리가 멈춤

  9. 9

    AVPlayer에서 현재 재생중인 비디오의 스트리밍 오디오 녹음

  10. 10

    AVPlayer에서 현재 재생중인 비디오의 스트리밍 오디오 녹음

  11. 11

    Firefox의 비디오가로드 된 후 일시 중지됨

  12. 12

    Firefox의 비디오가로드 된 후 일시 중지됨

  13. 13

    Drupal 8에서 몇 초 후에 페이지를 리디렉션하는 방법은 무엇입니까?

  14. 14

    AVPlayer가 초기화 될 때 몇 번의 호출 후 AVAudioEngine.inputNode.inputFormat (forBus : 0) 변경

  15. 15

    웹 오디오 API를 사용하여 지정된 시간 (밀리 초) 후에 사운드 재생 중지

  16. 16

    스파이더 4-몇 초 후 마지막 단어의 자동 강조 표시 비활성화

  17. 17

    임시 디렉토리 이름의 후행 문자열

  18. 18

    AVPlayer가 VStack에서 제거 된 후에도 오디오가 계속 재생 됨 (SwiftUI)

  19. 19

    Docker 컨테이너가 몇 초 후에 종료 됨

  20. 20

    Ubuntu 14.04에서 몇 초 후 TTY가 공백이 됨

  21. 21

    Java ScheduledExecutorService가 서블릿 초기화 후 잠시 중지됨

  22. 22

    브라우저에서 몇 프레임 후 gstreamer webrtc h264 재생이 중지됨

  23. 23

    페이지가로드 된 후 몇 초 후에 부트 스트랩 아코디언을 열 때 ui-grid가 비어 있습니까?

  24. 24

    AVPlayer가 iOS8의 NSDocuments 디렉토리에서 비디오를 재생할 수 없습니다.

  25. 25

    몇 시간 후 포 그라운드 서비스가 중지됨

  26. 26

    몇 초 후 jQuery로 htlm5 비디오 플레이어 음소거

  27. 27

    모달이 닫힌 후에도 비디오가 계속 재생 됨 Firefox

  28. 28

    HTML [JAVASCRIPT]의 이미지는 몇 초 후에 변경됩니다.

  29. 29

    html에서 비디오가 다시 재생 된 후 html5 비디오가 검은 색 화면이되는 루핑

뜨겁다태그

보관