ืื ืืงืืื ืืื ืงืืจืฅ: ืืื ืืืืื ืฆื ืจืขืื ืืืขืื ืื ืืึธืืืืืข ืึธื ืืืื ืฉืคึผืืืขืจ ืคึฟืึทืจ ืึทื ืืจืืื ืืื ืืืืข ืคึผืืืึทืืืกืฅ, ืืฉืึทื ืึทืื ืืื ืจืขืงืึทืืึทื ืืืืฉืึทื ื.

ืืงืกืคึผืึทื ืืื ืืงืืื:
ืขืืืขืืข ืืึธื ืฆืืจืืง ืืื ืืขืคึผืืึธื ืืขืจื ืคึผืื ืงื ืืขืจ ืืขืืืืงืขืจ ืคึผืจืึธืืืขื ืืื ืืขืจ ืืืืจ ืคืื ืึท ืืืื ืืขืจืืขื ืึทืคึผืืึทืงืืืฉืึทื , ืืื ืืืฉืืืกื ืคึฟืึทืจ ืืื ืคึผืื ืงื ืื ืืขืืืข ืฉืืขืืื ื ืฆื ืขืก: ืืื ืืืืื ืฆื ืงืขื ืขื ืืขืื ืืืื ืงืื ื ืึท ืืึทืืืขื ืึธืืขืจ ืกืืึทืจืืคืึธื ืข ืืื ืงืึทืจืืึธืึธื ืก ืคืื ืฆืืื ืฆื ืฆืืื, ืึธืืขืจ ืืื ืืื ื ืืฉื ืฆืืคืจืืื ืืื ืืื, ื ืึธื 2-3 ืงืืืงืก, ืื ืจืฉืืื ืคืื ืจืขืงืึทืืึทื ืืืืฉืึทื ื ืืื ื ืึธืจืืึทื ืึทืคึผืืึทืงืืืฉืึทื ื - ืืึธืืืืืข ืงืืืืึทื ืฅ - ื ืขืื ืืขื ืงืื ื.
ืฆืื ืืึทืืืืขืจื, ื ืึธื ืื ืกืืึธืืื ื ืื ืงืึทื ืึทื ืืืืืืขืืืกื ืึทืคึผืืึทืงืืืฉืึทื, ืื ืื ืืขืจ ืืขืจ ืคึผืจืึธืกืึทืืง, ืึธืืขืจ ื ืึธื ืคืึทืืึทื ืคืืึธ ืืื ืืืกืงืึทืืืขืจื - NIH ืืื (ืืื, ืจืืึฟ ืืืคึผืึธืจืืึทื ืืื, ืืืื ืืื) ืืขืคึฟืื ืขื ืืืื ืฆืืืื ื ื ืืฉื ืืืืขืจ ืืึทืงืืืขื, ืกืคึผืขืฆืืขื ื ืึธื ืื ืืืืข ืคืื โโYouTube Kids ืฉืคึผืืืขืจ.
ืืื ืึทืืืขืืืื, ื ืึธื ืขืืืขืืข ืืึธื ืืื ืืื ืืขืืืขื ืืจืืื ืฆื ืืึทืื ืืืื ืืืืืขื ืข ืืืคึผืืึทืืขื ืืืืฉืึทื. ื ืึธื ืขืืืขืืข ืืึธื, ืขืก ืืื ืืขืืืขื ืืขืืืขื ืฆื ืฉืืขืื ืึท ืงืืืืื ืืืืฃ ืืขืจ ืขืจืฉืืขืจ ืืขืืืื ื.
ืฉืืืกื ืคึฟืขืึดืงืืืื:
- ืืืื ืืืื ืืึทืืืืกืืข ืืฉืึทื ืึทืื ืืื ืคึผืืืึทืืืกืฅ - ืืื ืืืขืื ืืืื ืืขืจืืืขืืืขื ืืื ืื ืืขืงืกื ืืื ืื ืืืืข ืืึทืืึทืืืืก
- ืื ืฆืืืขืืืืื ืคึผืืืึทืืืกืฅ, ืงืขืจ ืึทืืืขืง ืืื ืืืืืง ืืืืืืืก ืืืื ืืืจ ืืึธื ื ืื ืืึทืจืคึฟื ืืื
- ืื ืจืฉืืื ืคืื ืจืขืงืึทืืึทื ืืืืฉืึทื ื ืืื ืืืฉืขื ืขืจืืืืึทื ืจืึทื ืืึทืืื ืืืืื ืคึฟืื ืืฉืึทื ืึทืื ืืื ืคึผืืืึทืืืกืฅ ืฆืืืขืืขืื ืฆื ืื ืึทืคึผืืึทืงืืืฉืึทื
ืขืคึฟืขื ืขื ืืงืืจ, GPLv3 ืืขืจืืืืืขื ืืฉ:
ืื ืืขืจ ืืื ืึทื ืืืืขืจืืืืง ืคืื ืื ืืืืคึผื ืคึฟืขืึดืงืืืื ืืื ืืขืจ ืืขืืึทื, ืคึผืืืก ืขืืืขืืข ืืขืื ืืฉ ืืขืืึทืืืก ืืืขืื ืืื ืฆื ืฉืคึผืืื ืืึธืืืืืข ืืืืืืืก ืืื ืืืื ืึทื ืืจืืื ืึทืคึผืืึทืงืืืฉืึทื ืึธื ื ืืฆื ืื Google ืึทืคึผื ืืื ืืืขื ืจืึทืคึผืขืจื.
ืืืืฃ ืื ืืืืคึผื ืคืึทืจืฉืืขืื ืืื ืืืืฃ ืื ืฉืคึผืืืขืจ ืคืึทืจืฉืืขืื: ืืจืึทืค ืจืขืงืึทืืึทื ืืืืฉืึทื ื ืคืื ื ืื-ืจืึทื ืืึธื ืืฉืึทื ืึทืื
ืจืขืืข ืืืื ืืื ืืืืข ืืึทืืึทืืืืก
=>
ืืืื ืึท ื ืืึทืข ืงืึทื ืึทื ืึธืืขืจ ืคึผืืืึทืืืกื
ืืืื ืืืจื ื ืึธืืขื ืึธื ืืืื ืึธืืขืจ ืึทืจืืึทื ืืืืื ืึท ืืึทืืืืกื ืึทืืจืขืก. ืื ืจืฉืืื ืคืื ืืืืืืืก ืคืื ืึท ืงืึทื ืึทื ืึธืืขืจ ืคึผืืืึทืืืกื ืืื ืืขืจืืืขืืืขื ืืื ืื ืืืืข ืืึทืืึทืืืืก; ืืืงืึทื ื ืืขื ืขื ื ืืฉื ืงืึทืฉื.
ืืื ืึทืืืฉ ืคึผืืืึทืืืกื - ืฉืคึผืื ืืืื ืจืขืืืืืึทืื
=>
ืืื ืื ืืืืืขื ืจืขืงืึทืืึทื ืืืืฉืึทื ื, ืขืก ืืืขื ืืืื ืืืืื ืืืืืืืก ืืืึธืก ืืึทืคืจืืืืงื ืื ืืืื ืึธื ืคึฟืจืขื.
ืกืืืืืึทืจืื, ืืืื ืืืจ ืขืคึฟืขื ืขื ืึท ืืืืืขื ืคึฟืื ืื ืคึผืืืึทืืืกื ืกืขืืืื ืืก, ืืืืื ืืืืืืืก ืคึฟืื ืืขืจ ืืขืืืืงืขืจ ืคึผืืืึทืืืกื ืืืขื ืืืื ืืขืืืืื ืืื ืืขืจ ืจืฉืืื ืคืื ืจืขืงืึทืืึทื ืืืืฉืึทื ื.
ืคึผืืืึทืืืกืฅ ืืื ืืฉืึทื ืึทืื ืงืขื ืขื ืืืื ืืขืืคึผืขืจืขืจืึทืื ืืืืกืืขืืจืืื ืึทืืืขืง ืืื ืืืืฃ ืืืืืขืจ
ืืืืข ืืึธื: ืืืืืืืก ืคืื ืึท ืคืึทืจืงืจืืคึผืื ืคึผืืืึทืืืกื ืืืขื ืืืื ืคืึทืจืฉืืืื ืื ืคืื ืืืื ืจืขืืืืืึทืื, ืืืืืื ื ืืขืฉืืืืข ืืื ืคึฟืื ืื ืคืึทืืืึธืจืืืขืก ืจืฉืืื. ืึธืืขืจ ืืึธื ื ืื ืืึธืจื, ืืื ืืืขืื ืืขืจืฉืืึทื ืขื ืืึธืจื ืืืืืขืจ ืืืืื ื ืึธื ืื ืคึผืืืึทืืืกื ืืื ืคืืจืงืขืจื ืืืืฃ ืืืืืขืจ.
ืืืื ืึท ืืืืืขื ืฆื ืื ืืืึทืงืืืกื
ื ืืคืืขืฉืืขืื ืืืืืขื ืืืขื ื ืืฉื ืืืื ืืขืืืืื ืืื ืจืขืงืึทืืึทื ืืืืฉืึทื ื, ืืื ืืืื ืจืขืืืืืึทืื, ืืื ืืืขื ืคืึทืจืฉืืืื ืื ืคืื ืืขืจ ืจืฉืืื ืคืื ืคืึทืืืึธืจืืืขืก ืืื ืคืื ืื ืืืืืื ื ืืขืฉืืืืข. ืื ืืืืืขื ืืืขื ื ืึธื ืืืื ืงืขื ืืืง ืืื ืื ืคึผืืืึทืืืกื ืกืขืืืื ืืก.
ืืขื ืื ืืืึทืงืืืกื ืืื ืฉืืึทืขื-ืืขืื ืืืื ืืคืืขืฉืืขืื ืืืจื ืืจืืึทื:
ืกืขืืืื ืืก> ืืขืืขืจ ืืขื ืื> ืืืึทืงืืืกื
ืืึทืืืืกืืข ืืืืืืืก ืืื ืืืืืื ื ืืขืฉืืืืข
ืืึทืืืืกืืข ืืืืืืืก ืืืืฃ ืื ืฉืคึผืืืขืจ ืคืึทืจืฉืืขืื ืืขื ืขื ืื ืืขืฆืืืื ื ืืื ืึทื ืึทืกืืขืจืืกืง ืืื ืืขืจ ืืืืืขืจืฉืืขืจ ืจืขืื ืืืื ืงื.
ืงืึธื ืืขืงืกื ืืขื ืืื ืืื ืืขื ืขืงืจืึทื ืืืื ืืื ืืึทื ื-ืืื ืืื ืืึทืืขืจืื ืืื ืจืฉืืืืช
ื ืึธืืืึทืื ืื ื ืึธืืขื ืึธืืขืจ ืึทืืจืขืก ืคืื ืึท ืืืืืขื ืึธืืขืจ ืคึผืืืึทืืืกื ืืืืฃ ืื ืืืืืื ื ืคืึทืจืฉืืขืื ืึธืืขืจ ืืื ืงืืื ืจืฉืืื.
ืฉื ืขื ืึธื ืืืื - ืืืื ืจืขืงืึทืืขื ืืื ืืฉืึทื ืึทืื ืืื ืคึผืืืึทืืืกืฅ
=>
ืื ืึทืคึผืืึทืงืืืฉืึทื ืืืขื ืืืืื ืงืืงื ืืื ืื ืกืงืจืขืขื ืฉืึธืฅ ืืืืื.
ืืื ืืืืืง ืืฉืึทื ืึทืื ืืื ืคึผืืืึทืืืกืฅ ืงืขื ืขื ืืืื ืืืืกืืขืืขืงื ืึธืืขืจ ืืืืกืืขืืขืงื ืืื ืื ืกืขืืืื ืืก.
ืื ืกืืึทืืืจืื ื
ืคึผืจืึธืืขืงื ืืืึทื:
ืืื ืขื ืืืืฉ:
ืืขืืืื ืืขื:
- ืขืก ืืื ื ืืฉื ืืืืฃ Google ืคึผืืืึท ืืื ืืืขื ื ืืฉื ืืืื ืืื ืืขื ืืขืื ืฆืืงืื ืคึฟื (ืืืื ืคืึทืจืืึธื ืึทืคึผืืึทืงืืืฉืึทื ื ืืืึธืก ืืืืคึผืึทืก ืื ืึทืคึผื ืืื ืคึผืึทืจืกืืจื ืืืืขืจ ืืืขืืืืืื, ืึทืจืืึทื ืืขืจืขืื ื ืื ืืขืจืืื ื ืืฉืึทื ื ืขื ืืืืืืืืกื ืึธืืขืจ ืื NewPipe ืฉืคึผืืืขืจ)
- ืืืืขื ืคืื ืืงืืจืื:
- ืืจืืคืงืืคืืข ืึทืคึผืง ืคึฟืื ืื ืจืืืืกืื ืึธืคึผืืืืืื ื:
- ืืื ืืึธืคึฟื ืขืก ืืืขื ืืขืจืฉืืึทื ืขื ืืื ืื ืงืึทืืึทืืึธื ื ืึธื ืขืืืขืืข ืืึธื (, ืึธืืขืจ ืืื ื ืืฉื ืืจืืืขืจืืขืคืืจื ืืืืึทืืขืจ ืคึฟืึทืจ ืึผืืขื ืึท ืืืืฉ), ืึธืืขืจ ื ืืฉื ื ืึธื
ืืึทืืื ืืื ืืืื ืื ื ืึทื ืกืืืืืฉืื ื ืฆืืืืฉื ืคืึทืจืฉืืืขื ืข ืืืขืจืกืืขืก ืคืื ืคืึทืจืฉืืืขื ืข ืงืืืืื ืืืืฃ ืืขืจ ืืขืืืืงืขืจ ืืืื ืืืขื ื ืืฉื ืึทืจืืขืื ืจืขืื ืฆื ืคืึทืจืฉืืืขื ืข ืกืืื ืึทืืฉืขืจื ืคืื ืื ืึทืคึผืง ืืขืงืข; ืืืืืขืจ ืืืจ ืื ืกืืึทืืืจื ืื ืืืขืจืกืืข ืคึฟืื ืึท ื ืืึทืข ืืงืืจ, ืืืจ ืืืขื ืขืจืฉืืขืจ ืืึธืื ืฆื ืืืกืืขืงื ืื ืืื ืกืืึทืืืจื ืืืขืจืกืืข ืืื ืื ืืึทืื - ืื ืคึผืืืึทืืืกื ืงืึทืฉ ืืื ืืจืึทืืืื ื ืืขืฉืืืืข (ืึธืืขืจ ืืขืคึฟืื ืขื ืืืืก ืืื ืฆื ืึทืจืืืขืจืคืืจื ืืึทืื).
ืืขืื ืืฉ ืืขืืึทืืืก
ืืึทืจืฃ ื ืืฉื ืึท Google / ืืึธืืืืืข ืืฉืืื, ืืืจ ื ืึธืจ ืืึทืจืคึฟื ืื ืืื ืืขืจื ืขื, ื ืืฆื ืื ืคืืืืขื ืืข ืืืืืจืขืจืื:
- ืฆื ืืึทืงืืืขื ืืึทืื ืคืื ืื ืืึธืืืืืข ืืื ืกื ืืื
- ืฆื ืฉืคึผืืื ืืืืืขื.
ืขืคึฟืขื ืขื ืืงืืจ, ืคืจืื GPLv3 ืืขืจืืืืืขื ืืฉ.
ืงืฉืื: ืืื ืขืก ืืืื ืืขืืึทื ืฆื ืกืงืจืึทืคึผ ืืืขืืกืืืขืก ืึธื ืืขืจืืืืืขื ืืฉ (ืึธืืขืจ ืืื ืึท ืืงืกืคึผืืืกืึทื ืคืึทืจืืึธื) ืคืื ืื ืืืืจืื? , ืืืึธืก ืืึธื ื ืื ื ืืฆื ืืืืขืจ ืึทืคึผื, ืึธืืขืจ ืคึผืึทืจืก ืืืืขืจ ืืืืืืขื, ืืืืึทื ืืื ืึธื ืจืืจื ืืืืขืจ ืืึทื ืืฆืขืจ ืืขืกืงืขื.
ืขื ืืคืขืจ: ืคืื ืงืืจืก, ืขืก ืืื ืืขืืึทื, ืขืก ืก ืึทืจืืืฃ ืฆื ืืืจ ืืืึธืก ืืขืฆืืึทื ืฆื ื ืืฆื ืฆื ืืืืขื ืขื ืขืคื ืืืขื ืื ืืืฆื ืืื ืคึฟืึธืจืืึทืฆืืข. ืืขืจืฆื: , ืืืขืจ ืืื ืงืขื ืืืื ืื ืื ืืขืจืข ืืืื ืื ื, ืคืขืจืืขื ืืื ืืื ืืื ื ืื ื ืืฉื ืงืืื ืืฉืง ืฆื ืืืื ืฆื ืื ืืืขืจืืงืื ืขืจ ืืขืจืืื ืืื ืืืืขืจืฆืืืื.
ืขืืืขืืข ืงืึธื
ืืืืืืึธืืขืง - ืฉืคึผืืืขืจ ืฉืืืฆื ืคึผืจืืืขืงื , ืึทืืึทืื ืืืจ ืฆื ืึธืคึผืืึธืืืจื ืึท ืจืฉืืื ืคืื ืืืืืืืก ืคึฟืึทืจ ืึท ืกืคึผืขืกืืคืืขื ืงืึทื ืึทื ืึธืืขืจ ืคึผืืืึทืืืกื, ืืจืืคืงืืคืืข ืืืืืืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขืื ืึท ืืึทืจืืื ืืืืืขื (ืืืึธืก ืืื ืงืขื ืืืง ืืืืฃ ืื ืืืืืขื ืืืขืืืืืื), ืืึทืงืืืขื ืื ืึทืืจืขืก ืคืื ืื ืืืืืขื ืืืืื ืืื ืืืื ืืึทืงืืืขื ืื ืึทืืจืขืก ืคืื ืื ืืืืืขื. ืืืึทื.
ืืขืจ ืงืึธื ืคึฟืึทืจ ืืึธืืืื ื ืื ืคึผืืืึทืืืกื ืืื ืึท ืืืกื ืงืึทืืืขืจืกืึทื, ืึทืืื ืืื ืืืขื ื ืืฉื ืืขืื ืขืก ืืึธ, ืคึฟืึทืจ ืืขื ืข ืืื ืืขืจืขืกืืจื, ืงืืง ืืื ืื ืืงืืจ ืงืึธื, ืขืก ืืื ืืืืกืืงืื ืึท ืงืืึทืก .
ืืึธืืืจ ืืขื ืืื ืฆื ืืึทืงืืืขื ืื ืึทืืจืขืก ืคืื ืึท ืืืืืขื ืืืึทื ืคึฟืื ืื ืึทืืจืขืก ืคืื ืื ืขืคื ืืืขื ืืืืืขื ืืืึทื ืืื ืฉืคึผืื ืขืก ืืื ืื ืฉืคึผืืืขืจ.
ืคืึทืจืืื ืื ืื ืืืืืืึธืืขืง ืฆื
dependencies {
...
// NewPipe: youtube parser
// https://github.com/TeamNewPipe/NewPipeExtractor
implementation "com.github.TeamNewPipe:NewPipeExtractor:v0.17.4"
...
}ืขืก ืืื ืืฉืืงืึทืืืข ืึทื ื ืึธื ืืขื ืืืจ ื ืึธื ืืืขื ื ืืฉื ืงืขื ืขื ืฆื ื ืืฆื ืขืก, ืืืืึทื ... ืืืืฉืคืืื ืืืขื ืืึทืงืืึธืื ืืื ืืืขืื ืื ืคืขืื ืืืง ืืึธืืื ืืึธืึทืืขืจ ืงืืึทืก. ืขืก ืงืขื ืขื ืืืื ืงืึทืคึผืื ืฆื ืื ืคึผืจืืืขืงื ืคึฟืื ืื ืึธืืึทืืืืืื ืืขืกืฅ ืืืขืืืืืึทืืขืจ - ืึทืจืืขื ืคึฟืึทืจ ืืืขืจืกืืข 0.17.4 (ืขืก ืืืื ื ืึทื ืืขืจ ืืืื ืืื ืืขืืืขื ืจืืืึทื ืืื ืึท ื ืืึทืขืจ ืืืขืจืกืืข ืคืื โโืืขืจ ืืืืืืึธืืขืง, ืึธืืขืจ ืืืจ ื ืึธื ืืึทืจืคึฟื ืฆื ืงืึธื ืืจืึธืืืจื).
ืืึทืงืืืขื ืื ืึทืืจืขืก ืคืื ืื ืืืืืขื ืืืึทื ืืืจื ืื ืึทืืจืขืก ืคืื ืื ืืืืืขื ืืืึทื ืืืืฃ ืื ืืึธืืืืืข ืืืขืืืืืื:
public String extractYtStreamUrl(final String ytVidUrl) throws ExtractionException, IOException {
// https://github.com/TeamNewPipe/NewPipeExtractor/blob/dev/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeStreamExtractorDefaultTest.java
NewPipe.init(Downloader.getInstance(), new Localization("GB", "en"));
final YoutubeStreamExtractor extractor = (YoutubeStreamExtractor) YouTube
.getStreamExtractor(ytVidUrl);
extractor.fetchPage();
final String streamUrl = extractor.getVideoStreams().size() > 0 ? extractor.getVideoStreams().get(0).getUrl() : null;
// for (final VideoStream stream : extractor.getVideoStreams()) {
// stream.getUrl();
// }
return streamUrl;
}ืื ืืืืืขื ืึทืืจืขืก ytVidUrl ืงืขื ืขื ืืืื ืื ืขืคื ืืืขื ืึทืืจืขืก ืคืื ืื ืืืึทื ืคืื ืงืืื ืืืืืขื ืืืืฃ ืื ืืึธืืืืืข ืืืขืืืืืื, ืืืฉื
ืืขืจ ืฉืคึผืืืขืจ ืืืขื ืืืื ืคึฟืื Google ืืื. ืืึธืก ืืื ื ืืฉื ืึท ืืืขื ืจืึทืคึผืขืจ ืืืืขืจ ืืึธืืืืืข, ืึธืืขืจ ืึท ืคืึทืงืืืฉ ืขืืืขืืื ืฉืคึผืืืขืจ ืคึฟืึทืจ ืคึผืืืืื ื ืงืืื ืืืืืืืก, ืืึทื ืฅ ืคืืขืงืกืึทืืึทื ืืื ืงืืกืืึธืืืืึทืืืข. ืขืก ืงืขื ืขื ืืืื ืฉืคึผืืื ืืืืืขื ืกืืจืืื ืคืื ืืึธืืืืืข ืืืื ืืืจ ืฆืืฉืืขืื ืขืก ืืื ืื ืจืืืืืง ืึทืืจืขืก. ืืืจ ื ืึธืจ ืืืงืืืขื ืื ืืืึทื ืึทืืจืขืก, ืึทืืื ืืึธืืืจ ืืขื ืืื ืฆื ืฉืืงื ืขืก ืฆื ืื ืฉืคึผืืืขืจ.
ืคืึทืจืืื ืื ืื ืืืืืืึธืืขืง ืฆื ืื ืคึผืจืืืขืงื :
dependencies {
...
// google Exoplayer
// https://github.com/google/ExoPlayer
// https://exoplayer.dev/
implementation 'com.google.android.exoplayer:exoplayer:2.10.8'
...
}ืืืจ ืืืขืื ื ืืฉื ืืึทืืจืึทืืื ืึทืืข ืื ื ืืึทื ืกืื ืคืื ืคึผืืืืกืื ื ืื ืฉืคึผืืืขืจ ืงืึธืืคึผืึธื ืขื ื ืืืืฃ ืื ืึทืคึผืืึทืงืืืฉืึทื ืคืึทืจืฉืืขืื (ืืืจ ืงืขื ืขื ืืขื ืื ืืืืฉืคืืื ืืืืฃ ืื ืคึผืจืืืขืงื ืืืขืืืืืื ืึธืืขืจ ืืื ืื ืงืึธื), ืืืจ ืืืขืื ื ืึธืจ ืงืืงื ืืื ืฆื ืึธื ืืืืื ืคึผืืืืื ื ืึท ืืืืืขื ืคึฟืื ืืึธืืืืืข ืืื ืื ืฉืคึผืืืขืจ. ืื ืึทืืจืขืก ืืืงืืืขื ืืืืื:
private void playVideoStream(final String streamUrl, final long seekTo) {
if (streamUrl == null) {
// ะพััะฐะฝะพะฒะธัั ะฟัะพะธะณััะฒะฐะฝะธะต ัะตะบััะตะณะพ ัะพะปะธะบะฐ, ะตัะปะธ ะฑัะป ะทะฐะณััะถะตะฝ
videoPlayerView.getPlayer().stop(true);
} else {
// https://exoplayer.dev/
// https://github.com/google/ExoPlayer
final Uri mp4VideoUri = Uri.parse(streamUrl);
final MediaSource videoSource = new ProgressiveMediaSource.Factory(videoDataSourceFactory)
.createMediaSource(mp4VideoUri);
// ะะพััะฐะฒะธะผ ะฝะฐ ะฟะฐัะทั ััะฐัะพะต ะฒะธะดะตะพ, ะฟะพะบะฐ ะณะพัะพะฒะธะผ ะฝะพะฒะพะต
if (videoPlayerView.getPlayer().getPlaybackState() != Player.STATE_ENDED) {
// ะัะปะธ ััะฐะฒะธัั ะฝะฐ ะฟะฐัะทั ะทะดะตัั ะฟะพัะปะต ัะพะณะพ, ะบะฐะบ ะฟะปะตะตั ะฒััะฐะป ะฝะฐ ะฟะฐัะทั ัะฐะผ, ะทะฐะบะพะฝัะธะฒ
// ะธะณัะฐัั ะฒะธะดะตะพ, ะฟะพะปััะธะผ ะทะดะตัั ะฒัะพัะพะต ัะพะฑััะธะต STATE_ENDED, ะฟะพััะพะผั ะฝะฐะผ ะฝัะถะฝะฐ ะทะดะตัั
// ัะฟะตัะธะฐะปัะฝะฐั ะฟัะพะฒะตัะบะฐ.
// ะัะธ ััะพะผ ะทะฝะฐัะตะฝะธะต getPlayWhenReady() ะพััะฐะฝะตััั true, ะฟะพััะพะผั ะฟัะพะฒะตััะตะผ ะธะผะตะฝะฝะพ ัะพััะพัะฝะธะต.
// https://github.com/google/ExoPlayer/issues/2272
videoPlayerView.getPlayer().setPlayWhenReady(false);
}
// Prepare the player with the source.
((SimpleExoPlayer) videoPlayerView.getPlayer()).prepare(videoSource);
// ะฃะบะฐะถะตะผ ัะตะบัััั ะฟะพะทะธัะธั ััะฐะทั ะฟัะธ ะทะฐะณััะทะบะต ะฒะธะดะตะพ
// (ะฒ ะบะพะผะตะฝัะฐั
ััะพ-ัะพ ะฟะธััั ััะพ-ัะพ ะฟัะพ ะดะฐัะฐัะพััั, ะบะพัะพััะต ะฟะพะดะดะตัะถะธะฒะฐัั ะธะปะธ ะฝะต ะฟะพะดะดะตัะถะธะฒะฐัั
// ะฟะตัะตั
ะพะดั seek ะฟัะธ ะทะฐะณััะทะบะต, ะฟะพั
ะพะถะต, ััะพ ััะพ ัะธะณะฝั - ะฟัะพััะพ ะดะตะปะฐะตะผ seek ััะฐะทั ะฟะพัะปะต ะทะฐะณััะทะบะธ)
// Exoplayer plays new Playlist from the beginning instead of provided position
// https://github.com/google/ExoPlayer/issues/4375
// How to load stream in the desired position? #2197
// https://github.com/google/ExoPlayer/issues/2197
// ะฒ ััะพะผ ะผะตััะต ะฝะพัะผะปะฐัะฝัะน duration ะตัะต ะฝะต ะดะพัััะฟะตะฝ, ะฟะพััะพะผั ะตะณะพ ะฝะต ะฟัะพะฒะตััะตะผ
//if(seekTo > 0 && seekTo < videoPlayerView.getPlayer().getDuration()) {
if (seekTo > 0) {
// ะฝะฐ 5 ัะตะบัะฝะด ัะฐะฝััะต
videoPlayerView.getPlayer().seekTo(seekTo - 5000 > 0 ? seekTo - 5000 : 0);
}
videoPlayerView.getPlayer().setPlayWhenReady(true);
}
}ืืึทืืืืกื ืืฉืื
- ืืืขื ื ืืฉื ืฉืคึผืืื ืืืืืืืก ืืื ืขืืืขืจ ืจืืกืืจืืงืฉืึทื ื ืืืึธืก ืืึทืจืคื ืืึธืืื ืฆื ืืืื Google / ืืึธืืืืืข ืืฉืืื
ืคึฟืึทืจ ืืืึทืฉืคึผืื: ,
ืขืฆื: ืืืื ืึทืืึท ืืืืืืืก ืฆื ืื ืืืึทืงืืืกื ืึธืืขืจ ืคืจืขืื ืืขื ืืืืจ ืคืื ืื ืืืืืขื ืฆื ืืึทืืืึทืืืงื ืื ืจืืกืืจืืงืฉืึทื ืืืึธืก ืืื ืืขืืืขื ืืึทืฉืืืื ืืืจื ืืจืืึทื.
- ืขืืืขืืข ืืจืึธืืงืึทืกื ืืืืืืืก ืคึฟืึทืจ ืืืึธืก ืื ืืื ืกื ืงืขืจื ื ืื ืืขื ื ืืืขื ื ืืฉื ืฉืคึผืืื (ืคึฟืึทืจ ืึทืืึท ืืืืืืืก, ืื ืืขืืืืขืจ ืืื ืื ืจืฉืืืืช ืืื ืืึทืืขืจืืข ืืื ืื ืืขืฆืืืื ื ืืื "[ืืืจ ืื ืืขืฃ]").
ืคึฟืึทืจ ืืืึทืฉืคึผืื: ,
ืขืฆื: ืืืื ืึทืืึท ืืืืืืืก ืฆื ืื ืืืึทืงืืืกื.
- ืืืืืืืก ืืืึธืก ืืขื ืขื ืืืจืขืืืืื ืืืืื ืืืจื ืืืจืขืงื ืคึฟืึทืจืืื ืืื ืืขื ืงืขื ื ืืฉื ืืืื ืึทืจืืึทื ืืขืจืขืื ื ืืื ืื ืืืืข ืคึผืืืึทืืืกื, ืืคืืื ืืืื ืืืจ ืืจืืคืงืืคืืข ืึทืืข ืื ืืืืืืืก ืคืื ืื ืืึทื ืืฆืขืจ
ืคึฟืึทืจ ืืืึทืฉืคึผืื:
ืืืื ืืืจ ืืจืขืคื ืึท ืขืคื ืืืขื ืืืืืขื ืืืึธืก ืืื ื ืืฉื ืืึทืจืคื ืึท ืืึธืืื, ืฉืคึผืืื ืืื ืืขื ืืืขืืขืจืขืจ, โโืึธืืขืจ ืงืขื ื ืืฉื ืฉืคึผืืื ืืื ืื ืฉืคึผืืืขืจ, ืฉืืงื ืึท ืืฉืืง ืืึทืจืืื (ืขืก ืืื ืืึทื ืฅ ืืขืืืขื ืึทื ืื ืคึผืจืึธืืืขื ืืื ืฉืืื ืคืึทืจืคืขืกืืืงื ืืื ืื ื ืืึทืข ืืืขืจืกืืข NewPipeExtractor ืืื ืืืจ ืืืขื ื ืึธืจ ืืึทืจืคึฟื ืฆื ืืขืจืืืึทื ืืืงื ืื ืคึฟืึทืจืืึทืืืื ื ืืื ืืขื ืืืขืจืกืืข, ).
ืื ืฆืืืื ื ืงืขื ืคึผืึทืืขืืขื ืึทืจืึธืคึผ ืืืื ืื ืืื ืืขืจื ืขื ืืื ืคึผืึทืืขืืขื (ืึธืืขืจ ื ืืฉื ืืืืกืืขืืจืืื ืึทืืืขืง)
ืืื ืึท ืจืขืืืืืึทื,
ืืืึทื ืืื ืืื ืืจืืืขืจืืขืคืืจื ืคืื ืึท ืืึทืืืขื ืฆื ืึท ืกืึทืืกืื ื ืกืืึทืจื ืืขืืขืืืืืืข, ืืืึธืก ืงืขื ื ืืฉื ืืืืคื ืึทื ืืจืืื ืึทืคึผืืึทืงืืืฉืึทื ื. ืืขืจืืืขืจ, ืืขืจ ืืขืกืืขืจ ืคึผืขืจืขื ืืึทื ืงืึธื ืืจืึธื ืืื ื ืึธื ืคึผืขืจืืขื ืืขื.
ืึธืืขืจ ืื ืึทืคึผืืึทืงืืืฉืึทื ืืื ืืขืืืขื ืืึทืงืืืขื ืืขื ืื ืคึฟืึทืจ ืืืจ ืฆื ืึธื ืืืืื ื ืืฆื ืขืก ืืื. ืืขืจ ืขืจืฉืืขืจ ืจืืฉื ืคืื ืื ืคืจื ืึทืจืืขื ืืืขืจืกืืขืก ืืื ืืขืืืขื ืึทื ืืื ืืื ืืขืืืขื ืืื ืื ืื ืืขืจ ืืืขืื. ืึทืืข ืืื ืืึทืื ืืื ืืึทืื ืืึธืืืื ืคืื ืืึธืืืืืข, ืึธืืขืจ ืืึธืก ืืื ื ืื ืืขืจ ืืึธืืืืืข, ืึธืืขืจ ืขืคึผืขืก ืึทื ืืขืจืฉ, ืืืืขืจ ืืื ืงืึทื ืืจืึธืืื, ืืื ืืืื ืืืจ ืืึธื ืืขื ืืืขื ืึท ืกืขื ืืืคึผืขืืข ืคืื โโืืืื ืืืื ืืื ืืืืื ืขืก ืืื ืึท ืืืื ืกืืื. ืืื ืขืก ืก ืึทืืข ืืืขืื ืื ืจืขืงืึทืืึทื ืืืืฉืึทื ื.
ืืงืืจ: www.habr.com
