Youtube_player_flutter: рд╕реНрдкрдВрджрди: рдирд┐рдпрдВрддреНрд░рдХ рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред [рдХреАрдбрд╝рд╛]

рдХреЛ рдирд┐рд░реНрдорд┐рдд 17 рдирд╡ре░ 2019  ┬╖  31рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: sarbagyastha/youtube_player_flutter

рдореИрдВ рдЖрдИрдУрдПрд╕ 11 рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдкрд░ рдЙрджрд╛рд╣рд░рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ рдХрд┐рд╕реА рд╡реАрдбрд┐рдпреЛ рдкрд░ рдЯреИрдк рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред

    "<MRMediaRemoteCommandInfo: 0x60000136a2e0 for path <decode: missing data>
    "<MRMediaRemoteCommandInfo: 0x60000136a280, Play, enabled = 0, options = (null)>",
    "<MRMediaRemoteCommandInfo: 0x60000136a920, EnableLanguageOption, enabled = 0, options = (null)>",
    "<MRMediaRemoteCommandInfo: 0x60000136a940, ChangePlaybackRateCommand, enabled = 0, options = (null)>",
    "<MRMediaRemoteCommandInfo: 0x60000136aa60, SkipForward, enabled = 0, options = (null)>",
    "<MRMediaRemoteCommandInfo: 0x60000136aa80, EndRewind, enabled = 0, options = (null)>",
    "<MRMediaRemoteCommandInfo: 0x60000136aa40, EndFastForward, enabled = 0, options = (null)>",
    "<MRMediaRemoteCommandInfo: 0x60000136aaa0, PreviousTrack, enabled = 0, options = (null)>",
    "<MRMediaRemoteCommandInfo: 0x60000136aac0, Stop, enabled = 0, options = (null)>",
    "<MRMediaRemoteCommandInfo: 0x60000136aae0, Pause, enabled = 0, options = (null)>",
    "<MRMediaRemoteCommandInfo: 0x60000136ab00, SeekToPlaybackPosition, enabled = 0, options = (null)>",
    "<MRMediaRemoteCommandInfo: 0x60000136ab20 for path <decode: missing data>
flutter: The controller is not ready for method calls.
flutter: The controller is not ready for method calls.
flutter: The controller is not ready for method calls.
flutter: The controller is not ready for method calls.
flutter: The controller is not ready for method calls.

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛

рд╕рднреА 31 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@ fabiot21 рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ v6.0.3+1 рдореЗрдВ рдореМрдЬреВрдж рдереА?

@ рд╕рд░рдмрдЧреНрдпрд╕реНрде рдореИрдВрдиреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдореБрдЭреЗ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред

@ fabiot21 рдХреНрдпрд╛ рдЖрдкрдиреЗ рдмрд╛рдзрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╣рдЯрд╛рдХрд░ рдЬрд╛рдВрдЪ рдХреА? рдЬреИрд╕реЗ: youtube_player_flutter: 6.0.3+1 рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкрд░рд╡рд╛рд╣ рдХреЗред

рдЕрд░реНрдмрд╕рд░рдмрдЧреНрдпрд╕реНрде рд╣рд╛рдБ :(

@ fabiot21 рдХреГрдкрдпрд╛ рдЕрд╕рд▓реА рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рднреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рдХрднреА-рдХрднреА рд╕рд┐рдореБрд▓реЗрдЯрд░ рдкреНрд▓реЗрдмреИрдХ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо-рд╡реНрдпреВ рдХреЗ рдорд╣рдВрдЧреЗ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдлреНрд░реАрдЬ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

@sarbagyastha рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрд╕рд▓реА рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рднреА рджреЗрдЦрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдмрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдереЛрдбрд╝рд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд▓рдЧрддрд╛ рд╣реИред рдХрднреА-рдХрднреА рдпрд╣ рдХреБрдЫ рдХреЛрд╢рд┐рд╢реЛрдВ рдХреЗ рдмрд╛рдж рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХрднреА-рдХрднреА рдирд╣реАрдВред

рд░рд┐рд▓реАрдЬрд╝ рдореЛрдб рдФрд░ рдбреАрдмрдЧ рдореЛрдб рджреЛрдиреЛрдВ рдореЗрдВ Android 9 рдкрд░ v6.0.3+2 рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред

@sarbagyastha рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реИ? рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЙрддреНрдкрд╛рджрди рдФрд░ рдбреАрдмрдЧ рджреЛрдиреЛрдВ рдореЗрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВ (рдКрдкрд░ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВ)ред рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдордп рдирд╣реАрдВ рд╣реИ рддреЛ рдореИрдВ рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВ Android рдкрд░ рдмрдЧ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВред
D/eglCodecCommon( 5922): setVertexArrayObject: set vao to 2 (2) 0 0 I/flutter ( 5922): The controller is not ready for method calls. D/eglCodecCommon( 5922): setVertexArrayObject: set vao to 1 (1) 0 0 I/flutter ( 5922): The controller is not ready for method calls.

рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдкрд░ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИред

рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ, рдпрд╣ рдмрдЧ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИ

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рднреА рд╡рд╣реА рдмрдЧ рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рд╣реИ, рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЬрдм рд╡реАрдбрд┐рдпреЛ рд▓реЛрдб рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЕрдкрдирд╛ рдЙрддреНрддрд░ рднреЗрдЬреВрдВрдЧрд╛ред

рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ред

рджреЗрд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рдПрдХ рд╡реНрдпрд╕реНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрд░ рдерд╛ред рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рднреАрддрд░ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред

рдореБрдЭреЗ рдпрд╣ рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рднреА рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ: https://github.com/flutter/flutter/issues/25714

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛ред рдФрд░ рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╣рд▓ рдХрд┐рдпрд╛ред

YoutubePlayerController рдХреНрд▓рд╛рд╕ рдореЗрдВ,
_callMethod рдореЗрдВ рдкреБрдирдГ рд▓реЛрдб рдХрд░реЗрдВ() рдЬреЛрдбрд╝реЗрдВред

_callMethod (рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдердбрд╕реНрдЯреНрд░рд┐рдВрдЧ) {
рдЕрдЧрд░ (value.isReady) {
value.webViewController?.evaluateJavascript(methodString);
} рдЕрдиреНрдпрдерд╛ {
рдкреБрдирдГ рд▓реЛрдб рдХрд░реЗрдВ();
рдкреНрд░рд┐рдВрдЯ ("#####################");
рдкреНрд░рд┐рдВрдЯ ('рдирд┐рдпрдВрддреНрд░рдХ рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред');
}
}

рдПрдХ рдЕрд╡рд▓реЛрдХрди рд╣реИ:
рдЬрдм "рдСрдЯреЛрдкреНрд▓реЗ" рдлрд╝реНрд▓реИрдЧ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ, рддрдм рднреА рдЬрдм рд╡реАрдбрд┐рдпреЛ рдЪрд▓рдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рднреА "isReady" рдЭреВрдард╛ рд╣реЛрддрд╛ рд╣реИред
рддреЛ рдЙрд╕рдХреЗ рдмрд╛рдж, callMethod рдХреЛ рдмрд╛рдж рдореЗрдВ рдХреЙрд▓ рдХрд░рдирд╛, рдпрд╣ рддреНрд░реБрдЯрд┐ рд▓реМрдЯрд╛рддрд╛ рд╣реИ:

_callMethod (рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдердбрд╕реНрдЯреНрд░рд┐рдВрдЧ) {
рдЕрдЧрд░ (value.isReady) {
value.webViewController?.evaluateJavascript(methodString);
} рдЕрдиреНрдпрдерд╛ {
рдкреНрд░рд┐рдВрдЯ ('рдирд┐рдпрдВрддреНрд░рдХ рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ [$ methodString]ред');
}
}

@royycc
рдУрд╣, рдореИрдВрдиреЗ рдСрдЯреЛ рдкреНрд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдБрдЪ рдирд╣реАрдВ рдХреАред рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдСрдЯреЛ рдкреНрд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред :)

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛ред рдФрд░ рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╣рд▓ рдХрд┐рдпрд╛ред

YoutubePlayerController рдХреНрд▓рд╛рд╕ рдореЗрдВ,
_callMethod рдореЗрдВ рдкреБрдирдГ рд▓реЛрдб рдХрд░реЗрдВ() рдЬреЛрдбрд╝реЗрдВред

_callMethod (рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдердбрд╕реНрдЯреНрд░рд┐рдВрдЧ) {
рдЕрдЧрд░ (value.isReady) {
value.webViewController?.evaluateJavascript(methodString);
} рдЕрдиреНрдпрдерд╛ {
рдкреБрдирдГ рд▓реЛрдб рдХрд░реЗрдВ();
рдкреНрд░рд┐рдВрдЯ ("#####################");
рдкреНрд░рд┐рдВрдЯ ('рдирд┐рдпрдВрддреНрд░рдХ рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред');
}
}
рд╣реИрд▓реЛ, рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рд╡рд╣реА рддреНрд░реБрдЯрд┐

@ipolx
рдирдорд╕реНрддреЗ, рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдХрд╛ рд▓реЙрдЧ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рдЬрдм рдЖрдкрдиреЗ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛, рддреЛ рдХреНрдпрд╛ рдЖрдкрдиреЗ рд░реАрд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рд▓реЙрдЧ рджреЗрдЦрд╛?

@ipolx
рдирдорд╕реНрддреЗ, рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдХрд╛ рд▓реЙрдЧ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рдЬрдм рдЖрдкрдиреЗ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛, рддреЛ рдХреНрдпрд╛ рдЖрдкрдиреЗ рд░реАрд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рд▓реЙрдЧ рджреЗрдЦрд╛?

рдХрд┐рд╕реА рддрд░рд╣, рдореИрдВрдиреЗ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдкрдВрджрди рд╕рдВрд╕реНрдХрд░рдг рдореБрджреНрджрд╛ рдерд╛ред рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

@ipolx
рдЕрдЪреНрдЫрд╛, рдореЗрд░реА рдЦреБрд╢реА :)

рдХреБрдЫ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЕрднреА рддрдХ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рддреАрд░ рдХреЗ рдХрд╛рд░реНрдп рдХреНрдпрд╛ рд╣реИрдВред рдЖрдкрдХреЛ row_youtube_player.dart рдореЗрдВ рдХреЛрдб рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛:

рдЖрдпреЛрдЬрди: {
рдСрдирд░реЗрдбреА: (рдИрд╡реЗрдВрдЯ) => рд░реЗрдбреА.рдкреЛрд╕реНрдЯрдореИрд╕реЗрдЬ ("рд░реЗрдбреА"),
рдСрдирд╕реНрдЯреЗрдЯ рдЪреЗрдВрдЬ: (рдИрд╡реЗрдВрдЯ) => рд╕реЗрдВрдбрдкреНрд▓реЗрдпрд░рд╕реНрдЯреЗрдЯ рдЪреЗрдВрдЬ (рдЗрд╡реЗрдВрдЯред рдбреЗрдЯрд╛),
onPlaybackQualityChange: (рдИрд╡реЗрдВрдЯ) => PlaybackQualityChange.postMessage (event.data),
onPlaybackRateChange: (рдИрд╡реЗрдВрдЯ) => PlaybackRateChange.postMessage (event.data),
onError: (рддреНрд░реБрдЯрд┐) => Errors.postMessage(error.data)
},

рд╕рд╛рде

рдЖрдпреЛрдЬрди: {
рдСрдирд░реЗрдбреА: рдлрдВрдХреНрд╢рди (рдЗрд╡реЗрдВрдЯ) {рд░реЗрдбреА.рдкреЛрд╕реНрдЯрдореИрд╕реЗрдЬ ("рд░реЗрдбреА")},
рдСрдирд╕реНрдЯреЗрдЯ рдЪреЗрдВрдЬ: рдлрд╝рдВрдХреНрд╢рди (рдИрд╡реЗрдВрдЯ) {sendPlayerStateChange (event.data)},
рдСрдирдкреНрд▓реЗрдмреИрдХрдХреНрд╡рд╛рд▓рд┐рдЯреА рдЪреЗрдВрдЬ: рдлрдВрдХреНрд╢рди (рдЗрд╡реЗрдВрдЯ) {рдкреНрд▓реЗрдмреИрдХрдХреНрд╡рд╛рд▓рд┐рдЯреА рдЪреЗрдВрдЬ.рдкреЛрд╕реНрдЯрдореИрд╕реЗрдЬ (рдЗрд╡реЗрдВрдЯ.рдбреЗрдЯрд╛)},
onPlaybackRateChange: рдлрд╝рдВрдХреНрд╢рди (рдИрд╡реЗрдВрдЯ) {PlaybackRateChange.postMessage (event.data)},
onError: рдлрд╝рдВрдХреНрд╢рди (рддреНрд░реБрдЯрд┐) {Errors.postMessage(error.data)}
},

рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рднрд╛рдЧ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдореИрдВрдиреЗ RawYoutubePlayer рдореЗрдВ рдирд┐рдореНрди рд╡рд┐рдзрд┐ рдХреЛ рдмрджрд▓рдХрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛

рдСрдирдкреЗрдЬрдлрд┐рдирд┐рд╢реНрдб: (_) {
рдЕрдЧрд░ (_isPlayerReady) {
рдирд┐рдпрдВрддреНрд░рдХ.рдЕрдкрдбреЗрдЯрд╡реИрд▓реНрдпреВ(
controler.value.copyWith(isReady: true),
);
}рдЕрдиреНрдпрдерд╛{
рдкреНрд░рд┐рдВрдЯ ("рд╡реАрдбрд┐рдпреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдирд╛");
рдирд┐рдпрдВрддреНрд░рдХред рдкреБрдирдГ рд▓реЛрдб ();
}
},

рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕реНрдкрдВрджрди рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ

рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕реНрдкрдВрджрди рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ

рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░?

рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛

рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

рдореБрдЭреЗ рднреА рд╡рд╣реА рдЕрдкрд╡рд╛рдж рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдбрдХреНрд╢рди рдРрдк рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдпрд╣ рдЖрдИрдУрдПрд╕ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдореЗрдВ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ
youtube_player_flutter: ^8.0.0
Flutter_inappwebview: ^5.3.2
рдФрд░ рдПрдХреНрд╕рдХреЛрдб рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд▓рдХреНрд╖реНрдп 12.1 рд╕реЗрдЯ рдХрд░реЗрдВред

рдореБрдЭреЗ рдпрд╣рд╛рдБ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рд╣реИ

рд╕рдм рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЕрдВрдЧреВрдард╛ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡реАрдбрд┐рдпреЛ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ

рд╕реНрдкрдВрджрди рдФрд░ YouTube_player_flutter рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

kyawsithu picture kyawsithu  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

HiIamAlanOu picture HiIamAlanOu  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

PcolBP picture PcolBP  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sc00n picture sc00n  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

DiegoLimeiradaSilva picture DiegoLimeiradaSilva  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ