Inflearn brand logo image

인프런 커뮤니티 질문&답변

박정식님의 프로필 이미지
박정식

작성한 질문수

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

다른 영상 선택하는 기능 추가하기

151.다른 영상 선택하는 기능 추가하기

작성

·

46

0

코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다!

[코드팩토리 디스코드]
https://bit.ly/3HzRzUM

 

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

다른영상 추가하기 버튼을 누르면 , PlatformException(VideoError, Video player had error androidx.media3.exoplayer.ExoPlaybackException...

format_supported=NO_EXCEEDS_CAPABILITIES 이런 오류메시지가 출력됩니다.

다른분이 질문란에 final XFile video; 멤버변수에서 final을 제어하면 된다고 해서 따라해봤는데, 안되더라구요.

 

아래와같이 initializeController 호출전에

이미 초기화 되어있는지 확인하고 초기화되어있다면 videoPlayerController.dispose(); 를 호출하니 작동을 합니다.

 

강사님 소스 및 강의를 보면 이런 처리를 하지 않아도 정상 작동하는것같은데, 어떤부분이 문제인지 확인 부탁드립니다. 아래는 제가 수정한 initializeController() 함수 코드입니다.

 

initializeController() async {
  if (mounted && videoPlayerController.value.isInitialized) {
    await videoPlayerController.dispose();
  }
  videoPlayerController = VideoPlayerController.file(File(widget.video.path));
  try {
    await videoPlayerController.initialize();
    videoPlayerController.addListener(() {
      setState(() {});
    });
    setState(() {});

    mounted = true;
  } catch (e) {
    debugPrint('비디오 초기화 실패 : $e');
  }
}

 

답변 3

0

박정식님의 프로필 이미지
박정식
질문자

빠른답변 감사드립니다.
다시한번 확인해보겠습니다.

감사합니다.

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

Platform Exception인걸 보니 혹시 앱 재빌드 후 다시 실행하면 같은 현상이 없으시진 않을까요?

확인 부탁드립니다.

감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. 박정식님.

비디오 오류와 관련된 문제를 다루셔서 해결하기 위해 다양한 접근법을 시도해 보신 점이 인상적입니다. 주어진 코드에서는 비디오 초기화 오류를 방지하기 위해 기존의 초기화된 비디오 컨트롤러를 해제(dispose)하는 과정을 추가하셨습니다. 이 접근은 비디오 재생이나 전환 시 발생할 수 있는 일반적인 문제를 해결하는 데 유용합니다.

해당 문제에 대한 일반적인 해결 방법을 제시한 게시물 몇 가지를 소개합니다:

  1. Flutter Video Player 오류 해결 방법: 공동학습의 일환으로 실시간 채팅이나 포럼에서 자주 이슈화되는 비디오 플레이어 관련 오류와 그 해결 방법을 탐색할 수 있습니다.

  2. 비디오 초기화 시 발생할 수 있는 일반적인 문제와 해결법: 비디오 플레이어 초기화 시 컨트롤러의 재생 상태 확인 및 필요에 따른 비동기 처리를 강조합니다.

제공해 주신 코드에서 videoPlayerController.value.isInitialized를 통해 이미 초기화되어 있는지를 체크한 후 해제를 통해 초기화 작업을 올바르게 수행하셨습니다. 강의에서는 이러한 오류가 발생하지 않는 이유는 환경 설정이나 유니크한 상황에 따라 달라질 수 있습니다. 하지만 항상 비디오를 재로드할 때 기존의 컨트롤러를 해제하는 것은 좋은 실천 방법입니다.

추가적인 정보나 오류 메시지가 발생하면, 그 내용도 공유해 주시면 문제 해결에 더 큰 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

박정식님의 프로필 이미지
박정식

작성한 질문수

질문하기