inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

섹션18 동영상플레이어 버그 질문

312

cdway

작성한 질문수 23

1

flutter 클론코딩

답변 3

0

zhemgksl

이거 똑같은 버그 생기는데 위 답변으로도 해결 안 되는 분들은

 

didUpdateWidget의 if체크문에서 비디오 컨트롤러 dispose 해보시기 바랍니다. 아래 코드 참조하세요:

 

  @override
  void didUpdateWidget(covariant SVideoPlayer oldWidget) {
    super.didUpdateWidget(oldWidget);

    if (oldWidget.video.path != widget.video.path) {
      videoPlayerController.dispose();

      initializeController();
    }
  }

0

코드팩토리

안녕하세요!

힌트는 didChangeDependencies입니다.

didChangeDependencies가 실행 됐을때 동영상 플레이를 중지하는 코드를 작성해보세요!

감사합니다!

0

cdway

void didChangeDependencies() {
  super.didChangeDependencies();
  print('____________________________didChangeDependencies()'); // 여기 출력!

  // 다른영상 불러와도 실행하기 전까지는 이전 영상의 음성이 나옴 방지
  videoController!.pause();
}

이렇케 해봤는데 안되네요, 어디가 잘못 한건가요.

 

  1.  

Ai 가 알려준 이전에 답변 보니까

@override
void didUpdateWidget(covariant CustomVideoPlayer oldWidget) {
  super.didUpdateWidget(oldWidget);

  if (oldWidget.video.path != widget.video.path) {
    // 다른영상 불러와도 실행하기 전까지는 이전 영상의 음성이 나옴 방지
    videoController!.pause();

    initializeController();
  }
}

요러케 하니까 되는데, 문제점은 없나요

3.

didChangeDependencies 에다 인수, if 문 넣으니 에러 나오네요. 문법 에러 같은데 여기다 인수 넣으면 안되는지요

 

 

0

코드팩토리

제가 함수를 잘못 말씀드렸네요. didChangeDependencies는 의존하는 디펜던시가 변경됐을때 실행됩니다. (제 라이프사이클 섹션 참고 부탁드립니다). 지금 상황에는 didUpdateWidget이 맞습니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

cdway님의 질문에 대해 유사한 상황을 겪은 다른 수강생의 질문과 그에 대한 지식공유자의 답변이 도움이 될 것 같습니다. 이전 영상의 음성이 새 영상을 재생하지 않았음에도 계속 나오는 문제는, 영상을 새로 불러올 때 기존의 비디오 플레이어 컨트롤러가 제대로 종료되지 않아서 발생할 수 있습니다.

비슷한 문제를 겪었던 수강생의 질문과 그에 대한 답변입니다:
- “올드_비디오 and 뉴_비디오 보이스 동시 출력됨( 비디오 재생중 onNewVideoPressed 호출시,)” - 이 질문에서는 새로운 영상을 선택할 때 이전 영상의 컨트롤러를 정지시키지 않아 발생하는 문제로 보입니다. 코드팩토리 지식공유자는 새 영상을 선택하는 함수에 컨트롤러를 정지하는 코드를 추가하는 것이 좋을 것 같다고 조언하였습니다.

음성 조절 기능에 대해서는 직접적인 질문이 없었지만, 일반적으로 비디오 플레이어의 볼륨 조절은 컨트롤러의 setVolume 메소드를 이용하여 조절할 수 있습니다. 예를 들어, videoPlayerController.setVolume(0.5);와 같이 설정하여 볼륨을 조절할 수 있습니다. Flutter의 video_player 패키지 문서에서는 볼륨 및 기타 컨트롤에 대한 자세한 정보를 제공할 수 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

198강 (){onTap(e);}의 이해 돕기

0

19

1

video_call 플러그인 설치후 에러 발생

0

45

1

SDK 안드로이드 설치 질문!

0

59

1

코드팩토리 디스코드 링크 다시 부탁드려요~

0

92

1

Webview를 이용해서 URL 상의 페이지 출력 불가

0

69

1

홈스크린 함수를 함축해서 main.dart에 옮기는 문제

0

55

1

플레이스토어

0

59

1

아고라 엔진 init 함수의 반환타입이 Future<void> 이것의 의미는 무엇인가요?

0

55

1

가이드라인 질문

0

57

0

emulator 에러 환경설정 뭐가 문제 일까요??

0

76

1

emulator 실행 오류

0

93

3

Column을 가로방향 최대 사이즈를 차지하도록 하는 방법에 관련

0

71

1

pubspec.yaml에서 font를 추가하면서 weight 값을 지정하는 것이 의미가 있는 것인지 문의

0

43

1

setState()를 호출하지 않으면 build가 실행 안되는 건가요?

0

53

1

video_call 플러그인 설치시 에러문제

0

63

1

children 안의 if 문에서 { } 못쓰는 이유?

0

48

1

이렇게 오류가 떠요

0

63

1

AppBar 사용했는데

0

61

2

[문제해결] '오늘도 출첵!' 의 171번 강의에서 중요한 문제를 발견했습니다

0

56

1

StatefulWidget 실습 에러가 발생합니다.[해결완료]

0

63

1

Video Player 프로젝트에 대한 추가 질문

0

53

0

Row위젯이나 column위젯의 위치는 누가 정하나요??

0

42

1

geolocator 오류때문에 개발진행이 불가능입니다

0

62

1

API 관련 이슈

0

86

2