Youtube_player_flutter: [์•ˆ๋“œ๋กœ์ด๋“œ] ๋™์˜์ƒ ์ฒ˜์Œ ์—ด๋ฉด ๋ฌดํ•œ ๋กœ๋”ฉ

์— ๋งŒ๋“  2020๋…„ 07์›” 17์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: sarbagyastha/youtube_player_flutter

๋ฒ„๊ทธ ์„ค๋ช…
๋น„๋””์˜ค๋ฅผ ์ฒ˜์Œ ์—ด๋ฉด ๋กœ๋”ฉ ํ‘œ์‹œ๊ธฐ๊ฐ€ ๋ฌดํ•œ ํšŒ์ „ํ•ฉ๋‹ˆ๋‹ค. "์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 2" ์˜ค๋ฅ˜ ๋“ฑ์€ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ฒ˜์Œ ํ‘œ์‹œ๋  ๋•Œ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์žฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด

  1. Android 7์—์„œ flutter ์•ฑ์„ ์—ฝ๋‹ˆ๋‹ค.
  2. ๋น„๋””์˜ค ํ™”๋ฉด์„ ์—ฝ๋‹ˆ๋‹ค. ํ‘œ์‹œ๊ธฐ ๋กœ๋”ฉ. ๋™์˜์ƒ์ด ์žฌ์ƒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  3. ๋น„๋””์˜ค ํ™”๋ฉด์„ ๋‹ซ์Šต๋‹ˆ๋‹ค.
  4. ๊ฐ™์€ ํ™”๋ฉด์„ ์—ฝ๋‹ˆ๋‹ค. ๋™์˜์ƒ์ด ๋กœ๋“œ๋˜์–ด ์žฌ์ƒ ์ค‘์ž…๋‹ˆ๋‹ค.

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™
๋น„๋””์˜ค๋Š” ๋งค๋ฒˆ ์žฌ์ƒ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์ˆ ์  ์„ธ๋ถ€ ์‚ฌํ•ญ:

  • ๊ธฐ๊ธฐ ๋ฐ OS: TV ๋ฐ•์Šค: Android 7.1.2
  • ๋ฒ„์ „ 7.0.0+7

ํ”Œ๋Ÿฌํ„ฐ ๋ฐ•์‚ฌ:

[โˆš] Flutter(์ฑ„๋„ ์•ˆ์ • ๋ฒ„์ „, v1.17.3, Microsoft Windows [๋ฒ„์ „ 10.0.18363.959], ๋กœ์ผ€์ผ uk-UA)
[โˆš] Android ํˆด์ฒด์ธ - Android ๊ธฐ๊ธฐ์šฉ ๊ฐœ๋ฐœ(Android SDK ๋ฒ„์ „ 30.0.0)
[โˆš] ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค(๋ฒ„์ „ 4.0)
[!] IntelliJ IDEA ์ปค๋ฎค๋‹ˆํ‹ฐ ์—๋””์…˜(๋ฒ„์ „ 2018.3)
X Flutter ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์„ค์น˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Flutter ํŠน์ • ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
X Dart ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์„ค์น˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Dart ํŠน์ • ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
[โˆš] ์—ฐ๊ฒฐ๋œ ์žฅ์น˜(1๊ฐœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)

ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์ฒ˜์Œ ์ดˆ๊ธฐํ™”ํ•  ๋•Œ ์ถœ๋ ฅ:

I/art(29950): ๋ถ€๋ถ„ ์ฝ”๋“œ ์บ์‹œ ์ˆ˜์ง‘ ์ˆ˜ํ–‰, ์ฝ”๋“œ=24KB, ๋ฐ์ดํ„ฐ=29KB
I/art(29950): ์ฝ”๋“œ ์บ์‹œ ์ˆ˜์ง‘ ํ›„ ์ฝ”๋“œ=20KB, ๋ฐ์ดํ„ฐ=27KB
I/art(29950): ์ฝ”๋“œ ์บ์‹œ ์šฉ๋Ÿ‰์„ 128KB๋กœ ๋Š˜๋ฆฌ๊ธฐ
W/cr_AwContents(29950): ์ด๋ฏธ ๋ถ„๋ฆฌ๋˜์—ˆ์„ ๋•Œ onDetachedFromWindow๊ฐ€ ํ˜ธ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌต์‚ด
I/cr_Ime(29950): ImeThread๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
E/libEGL(29950): validate_ display:99 ์˜ค๋ฅ˜ 3008(EGL_BAD_DISPLAY)
W/VideoCapabilities(29950): ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ํ”„๋กœํ•„/๋น„๋””์˜ค/mp4v-es์šฉ ๋ ˆ๋ฒจ 1/32
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 2
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 2
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 2
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 2
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 2
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 2
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 2
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 2
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 4
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 4
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 4
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 4
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 4
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 4
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 4
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 4
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 8
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 8
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 8
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 8
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 8
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 8
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 8
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 8
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 16
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 16
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 16
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 16
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 16
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 16
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 16
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 16
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 32
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 32
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 32
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 32
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 32
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 32
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 32
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 32
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 64
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 64
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 64
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 64
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 64
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 64
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 64
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 64
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 128
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 128
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 128
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 128
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 128
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 128
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 128
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 128
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 256
W/VideoCapabilities(29950): ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ํ”„๋กœํ•„/๋น„๋””์˜ค/mpeg2์šฉ ๋ ˆ๋ฒจ 0/0
W/VideoCapabilities(29950): ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ํ”„๋กœํ•„/๋น„๋””์˜ค/mpeg2์šฉ ๋ ˆ๋ฒจ 0/2
W/VideoCapabilities(29950): ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ํ”„๋กœํ•„/๋น„๋””์˜ค/mpeg2์šฉ ๋ ˆ๋ฒจ 0/3
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 2
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 2
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 2
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 2
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 3
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 3
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 3
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 3
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 4
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 4
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 4
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 4
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 5
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 5
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 5
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mpeg2์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 5
W/VideoCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/vc1
W/Utils(29950): ์žฅ๊ฑฐ๋ฆฌ '1-'์„(๋ฅผ) ๊ตฌ๋ฌธ ๋ถ„์„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
W/VideoCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/wvc1
W/Utils(29950): ์žฅ๊ฑฐ๋ฆฌ '1-'์„(๋ฅผ) ๊ตฌ๋ฌธ ๋ถ„์„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
W/VideoCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/wmv3
W/VideoCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/x-ms-wmv
W/VideoCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/mjpeg
W/AudioCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ์˜ค๋””์˜ค/aac-adif
W/AudioCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ์˜ค๋””์˜ค/aac-latm
W/AudioCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ์˜ค๋””์˜ค/๊ด‘๊ณ 
W/AudioCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ์˜ค๋””์˜ค/wma
W/AudioCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ์˜ค๋””์˜ค/wmapro
W/AudioCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ์˜ค๋””์˜ค/truehd
W/AudioCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ์˜ค๋””์˜ค/ffmpeg
W/AudioCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ์˜ค๋””์˜ค/ac3
W/AudioCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ์˜ค๋””์˜ค/eac3
W/AudioCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ์˜ค๋””์˜ค/dtshd
W/AudioCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ์˜ค๋””์˜ค/mpeg-L2
W/VideoCapabilities(29950): video/x-vnd.on2.vp8์— ๋Œ€ํ•ด ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€ 16
W/VideoCapabilities(29950): video/x-vnd.on2.vp8์— ๋Œ€ํ•ด ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€ 32
W/VideoCapabilities(29950): video/x-vnd.on2.vp8์— ๋Œ€ํ•ด ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ๋ ˆ๋ฒจ 64
W/VideoCapabilities(29950): video/x-vnd.on2.vp8์— ๋Œ€ํ•ด ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€ 128
W/VideoCapabilities(29950): video/x-vnd.on2.vp8์— ๋Œ€ํ•ด ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€ 256
W/VideoCapabilities(29950): video/x-vnd.on2.vp8์— ๋Œ€ํ•ด ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€ 512
W/VideoCapabilities(29950): video/x-vnd.on2.vp8์— ๋Œ€ํ•ด ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€ 1024
W/VideoCapabilities(29950): video/x-vnd.on2.vp8์— ๋Œ€ํ•œ ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€ 2048
W/VideoCapabilities(29950): video/x-vnd.on2.vp8์— ๋Œ€ํ•ด ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€ 4096
W/VideoCapabilities(29950): video/x-vnd.on2.vp8์— ๋Œ€ํ•ด ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€ 8192
W/VideoCapabilities(29950): video/x-vnd.on2.vp8์— ๋Œ€ํ•œ ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€ 16384
W/VideoCapabilities(29950): video/x-vnd.on2.vp8์— ๋Œ€ํ•ด ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€ 32768
W/VideoCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/x-vnd.on2.vp6
W/VideoCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/x-vnd.on2.vp6a
W/VideoCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/x-vnd.on2.vp6f
W/VideoCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/rm10
W/VideoCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/rm20
W/VideoCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/rm40
W/VideoCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/wmv2
W/VideoCapabilities(29950): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/wmv1
I/VideoCapabilities(29950): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 4
W/cr_BindingManager(29950): ๊ฒฐ์ •๋œ Visibility()๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค - pid์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ์„ ๋ณธ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค: 29950

์•”ํ˜ธ:

class PlayerViewState extends ErrorHandlerState<PlayerView> {
  YoutubePlayerController _youtubeController;

  <strong i="7">@override</strong>
  void initState() {
    super.initState();
    SystemChrome.setPreferredOrientations([
      DeviceOrientation.landscapeRight,
      DeviceOrientation.landscapeLeft,
    ]);
    _youtubeController = YoutubePlayerController(initialVideoId: "t99KH0TR-J4");
    _youtubeController.addListener(() {
      print(_youtubeController.value.playerState);
    });
  }

  <strong i="8">@override</strong>
  void dispose() {
    _youtubeController.dispose();
    super.dispose();
  }

  <strong i="9">@override</strong>
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: AppColors.black,
      body: Center(
        child: YoutubePlayer(
          controller: _youtubeController,
          onReady: (){

          },
        ),
      ),
    );
  }
}
bug youtube_player_flutter

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋™์ผํ•œ ๋ฌธ์ œ, youtube_player_flutter: ^7.0.0+7, Android 6.0.1

๊ทธ๊ฒƒ์„ ๊ณ ์น˜๋Š” ๋ฐฉ๋ฒ•?

๋ชจ๋“  5 ๋Œ“๊ธ€

๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์˜ˆ์ œ ์•ฑ์œผ๋กœ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ฌธ์ œ๋Š” ์ด๊ฒƒ์ด ๋ชจ๋“  ๊ฒฝ์šฐ์— ํ•ญ์ƒ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ์ œ ์•ฑ์„ ์‚ฌ์šฉํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์•ฑ์„ ์ข…๋ฃŒํ•˜๊ณ  ๋‹ค์‹œ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ œ ์•ฑ์ด ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋‚ด ์ฝ”๋“œ๋ฅผ ์˜ˆ์ œ ์•ฑ์— ๋ณต์‚ฌํ•œ ๊ฒƒ๋ณด๋‹ค. "_MyHomePageState createState() => _MyHomePageState();"๋ฅผ ๋Œ€์ฒดํ–ˆ์Šต๋‹ˆ๋‹ค. "PlayerViewState createState() => PlayerViewState();"๋กœ
๋‚ด ์•ฑ๊ณผ ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฒฐ๊ณผ๋Š” ๋‚ด ์•ฑ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ œ ์•ฑ์ด ๋ช‡ ๋ฒˆ ์ข…๋ฃŒ๋œ ํ›„ ๋‹ค์‹œ ์—ด ๋•Œ - ๋ฌดํ•œ ๋กœ๋”. ๋ฌธ์ œ๋Š” Android 7 TV ์ƒ์ž์—์„œ ์‹คํ–‰๋˜๋Š” ๋‹ค์Œ ์ฝ”๋“œ์— ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์˜ˆ์ œ ์•ฑ ๋ณ€๊ฒฝ ์ฝ”๋“œ:

/// Homepage
class MyHomePage extends StatefulWidget {
  <strong i="10">@override</strong>
  PlayerViewState createState() => PlayerViewState();
}

class PlayerViewState extends State<MyHomePage> {
  YoutubePlayerController _youtubeController;

  <strong i="11">@override</strong>
  void initState() {
    super.initState();
    SystemChrome.setPreferredOrientations([
      DeviceOrientation.landscapeRight,
      DeviceOrientation.landscapeLeft,
    ]);
    _youtubeController = YoutubePlayerController(initialVideoId: "t99KH0TR-J4");
    _youtubeController.addListener(() {
      print(_youtubeController.value.playerState);
    });
  }

  <strong i="12">@override</strong>
  void dispose() {
    _youtubeController.dispose();
    super.dispose();
  }

  <strong i="13">@override</strong>
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: YoutubePlayer(
          controller: _youtubeController,
        ),
      ),
    );
  }
}

๋‚ด Android 7.1 ์Šค๋งˆํŠธํฐ์—์„œ๋„ ๋™์ผํ•œ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

API 22(Samsung J5)์—์„œ๋„ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์ฒ˜์Œ์—๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

W/ResourceType(14933): 0x01080946์— ๋Œ€ํ•œ ํ•ญ๋ชฉ ๊ฐ€์ ธ์˜ค๊ธฐ ์‹คํŒจ(t=7 e=2374)(์˜ค๋ฅ˜ -75)
I/art(14933): ์ด์ „์— ์‹คํŒจํ•œ ํด๋ž˜์Šค java.lang.Class์—์„œ ์žฌ์ดˆ๊ธฐํ™” ๊ฑฐ๋ถ€
I/art(14933): ์ด์ „์— ์‹คํŒจํ•œ ํด๋ž˜์Šค java.lang.Class์—์„œ ์žฌ์ดˆ๊ธฐํ™” ๊ฑฐ๋ถ€
I/art(14933): ์ด์ „์— ์‹คํŒจํ•œ ํด๋ž˜์Šค java.lang.Class์—์„œ ์žฌ์ดˆ๊ธฐํ™” ๊ฑฐ๋ถ€
I/art(14933): ์ด์ „์— ์‹คํŒจํ•œ ํด๋ž˜์Šค java.lang.Class์—์„œ ์žฌ์ดˆ๊ธฐํ™” ๊ฑฐ๋ถ€
D/ConnectivityManager(14933): ์š”์ฒญ ๋„คํŠธ์›Œํฌ; CallingUid : 10147, CallingPid : 14933
D/ConnectivityManager.CallbackHandler(14933): CM ์ฝœ๋ฐฑ ์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ msg 524290์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.
I/art(14933): ์ด์ „์— ์‹คํŒจํ•œ ํด๋ž˜์Šค java.lang.Class์—์„œ ์žฌ์ดˆ๊ธฐํ™” ๊ฑฐ๋ถ€
I/art(14933): ์ด์ „์— ์‹คํŒจํ•œ ํด๋ž˜์Šค java.lang.Class์—์„œ ์žฌ์ดˆ๊ธฐํ™” ๊ฑฐ๋ถ€
D/Activity(14933): mFeatureContextMenuListener๊ฐ€ ์žˆ๋Š” registerForContextMenu
W/cr_media(14933): BLUETOOTH ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
D/PhoneWindow(14933): FMB installDecor mIsFloating : false
D/PhoneWindow(14933): FMB installDecor ํ”Œ๋ž˜๊ทธ: -2139028216
D/PhoneWindow(14933): FMB isFloatingMenuEnabled mFloatingMenuBtn: null
D/PhoneWindow(14933): FMB isFloatingMenuEnabled๊ฐ€ false๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
E/libEGL(14933): validate_ display:255 ์˜ค๋ฅ˜ 3008(EGL_BAD_DISPLAY)
W/AudioCapabilities(14933): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ์˜ค๋””์˜ค/mpeg-L1
W/AudioCapabilities(14933): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ์˜ค๋””์˜ค/mpeg-L2
W/AudioCapabilities(14933): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ์˜ค๋””์˜ค/x-ms-wma
W/AudioCapabilities(14933): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ์˜ค๋””์˜ค/x-ima
W/VideoCapabilities(14933): ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ํ”„๋กœํ•„/๋น„๋””์˜ค/mp4v-es์šฉ ๋ ˆ๋ฒจ 32768/2
W/VideoCapabilities(14933): ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ํ”„๋กœํ•„/๋น„๋””์˜ค/mp4v-es์šฉ ๋ ˆ๋ฒจ 32768/2
W/VideoCapabilities(14933): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/wvc1
W/VideoCapabilities(14933): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/x-ms-wmv
W/VideoCapabilities(14933): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/x-ms-wmv7
W/VideoCapabilities(14933): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/x-ms-wmv8
W/VideoCapabilities(14933): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/mp43
I/VideoCapabilities(14933): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 4
I/VideoCapabilities(14933): ๋น„๋””์˜ค/mp4v-es์— ๋Œ€ํ•ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ•„ 4
W/VideoCapabilities(14933): ์ง€์›๋˜์ง€ ์•Š๋Š” MIME ๋น„๋””์˜ค/์†Œ๋ Œ์Šจ
W/cr_MediaCodecUtil(14933): ๋น„๋””์˜ค/AVC์šฉ HW ์ธ์ฝ”๋”๋Š” ์ด ์žฅ์น˜์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
E/chromium(14933): [ ERROR:gl_surface_egl.cc (292)] eglChooseConfig๊ฐ€ EGL_BAD_ATTRIBUTE ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.

๋™์ผํ•œ ๋ฌธ์ œ, youtube_player_flutter: ^7.0.0+7, Android 6.0.1

๊ทธ๊ฒƒ์„ ๊ณ ์น˜๋Š” ๋ฐฉ๋ฒ•?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰