{"id":6785,"date":"2024-11-19T20:03:56","date_gmt":"2024-11-19T17:03:56","guid":{"rendered":"https:\/\/1.cbm.ua\/?p=6785"},"modified":"2024-11-19T20:03:58","modified_gmt":"2024-11-19T17:03:58","slug":"test-play","status":"publish","type":"post","link":"https:\/\/1.cbm.ua\/?p=6785","title":{"rendered":"Test play"},"content":{"rendered":"\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Audio Control with Dynamic Buttons<\/title>\n\n<style>\n\t.CurrentButton_in_Segment {\n\t\tcolor: red;\n\t}\n\t\n\t.CB {\n\t\tfont-size: 90%; \/* \u0423\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 20% *\/ \n\t\tfont-size: 0.9em; \/* \u0423\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 20% *\/\n\t\tcolor: red;\n\t}\n\t\n\t\n<\/style>\n\n<\/head>\n<body>\n    <div id=\"textErr\" style = \"color: red;\"><\/div> <!-- \u041c\u0435\u0441\u0442\u043e \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u043e\u0448\u0438\u0431\u043e\u043a ! -->\n    <label><input type=\"checkbox\" id=\"testFlag\" checked> \u0412\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f &#8212; \u0442\u0435\u043a\u0441\u0442<\/label>\n    <br><br>\n    <label><input type=\"checkbox\" id=\"autoPlayFlag\"> \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b<\/label>\n\n    <div id=\"audioName\">&#8212; \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 audio \u0424\u0430\u0439\u043b\u0430.<\/div>\n    <div id=\"audioStatus\">&#8212; \u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f: 0 \u0441\u0435\u043a.  \u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c: 0 \u0441\u0435\u043a.<\/div>\n    <div>\n\t<span id=\"audioDefineCurrentSegment\" style=\"color: red;\"> &#8212; \u2116 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430: <\/span><br><span id=\"audioCurrentSegment\"> &#8212; \u041f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a \u0434\u043b\u044f \u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430:<\/p>\n\t<\/div>\n\t<div id=\"audioCurrentPlaybackSpeed\">&#8212; \u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c: <\/div>\n    <div id=\"buttonsContainer\">\n        <button id=\"playButton\">\u27a1(w) \u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c<\/button>\n        <button id=\"pauseButton\">\u23f8(w) \u041f\u0430\u0443\u0437\u0430<\/button>\n        <button id=\"stopButton\">\u23f9() \u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c<\/button>\n        <button id=\"PlaybackSpeedFaster\">\u23eb(+) \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c<\/button>\n        <button id=\"PlaybackSpeedSlower\">\u23ec(-) \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c<\/button>\n        <br>\n        <button id=\"previousButton\" style=\"display: yes;\">\u23eb(a) \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442<\/button>\n        <button id=\"repeatButton\" style=\"display: yes;\">\ud83d\udd01(s) \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c<\/button>\n        <button id=\"continueButton\" style=\"display: yes;\">\u23ec(d) \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442<\/button>\n        <button id=\"determineStartTimeButton\" style=\"display: yes;\">(q) \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0447\u0430\u043b\u0430?<\/button>\n        <button id=\"determineEndTimeButton\" style=\"display: yes;\">(e) \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043d\u0446\u0430?<\/button>\n        <button id=\"segmentAboveButton\" style=\"display: yes;\">(,) \\<<\/button>\n        <button id=\"segmentBelowButton\" style=\"display: yes;\">(.) \\><\/button>\n    <\/div>\n    <div id=\"PressedButton\" style=\"color: red\";>_<\/div> <!-- \"\u041d\u0430\u0436\u0430\u0442\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430\", \"Gedr\u00fcckter Knopf\",  \"Pressed button\"-->\n    <div><audio id=\"audio\" controls ><\/audio><\/div>\n    <div id=\"textContainer\">Subtitles<\/div>\n    <br><br>\n    \n    <script>\n    \n        \/*\n        \/\/ \u041c\u0430\u0441\u0441\u0438\u0432 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438 [\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u0442\u0435\u043a\u0441\u0442, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430]\n        const segments_\u043f\u0440\u0438\u043c\u0435\u0440 = [\n            [10.505, 11.102, \"\u0422\u0435\u043a\u0441\u0442_1: \", \"Ausgehen_AnnenMayKantereit_2.mp3\"],\n            [10.505, 11.102, \"\u0422\u0435\u043a\u0441\u0442_1: \", \"Ausgehen_AnnenMayKantereit_2.mp3\"],\n            [21, 22, \"\u0422\u0435\u043a\u0441\u0442_2: \", \"Ausgehen_AnnenMayKantereit_2.mp3\"],\n            [31, 32, \"\u0422\u0435\u043a\u0441\u0442_3: \", \"Ausgehen_AnnenMayKantereit_2.mp3\"],\n            [40, 41.999, \"\u0422\u0435\u043a\u0441\u0442_4: \", \"Ausgehen_AnnenMayKantereit_2.mp3\"]\n        ];\n        *\/\n\n\t\tconst file_NameSong = \"https:\/\/word.cbm.ua\/wp-content\/uploads\/2024\/10\/Ausgehen_AnnenMayKantereit_2.mp3\";\n        const segments_ = [\n[`00:00:00.000`, `00:00:03,206`,\n`Ich wei\u00df gar nicht so genau`,\n`\u042f \u043d\u0435 \u0437\u043d\u0430\u044e \u0434\u0430\u0436\u0435 \u0442\u043e\u0447\u043d\u043e.`], \n\n[`00:00:05.450`, `00:00:08,196`,\n`Warum ich sie so gerne mag.`,\n`\u041f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d\u0430 \u043c\u043d\u0435 \u0442\u0430\u043a \u043d\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f.`], \n\n[`00:00:11.300`, `00:00:13,416`,\n`Ich glaub, ich mag die Art.`,\n`\u042f \u0434\u0443\u043c\u0430\u044e, \u044f \u043b\u044e\u0431\u043b\u044e \u0442\u0432\u043e\u0439 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440 (\u043c\u0430\u043d\u0435\u0440\u044b, \u043f\u043e\u0432\u0430\u0434\u043a\u0438).`], \n\n[`00:00:15.563`, `00:00:18,298`,\n`Deswegen hab ich sie gefragt.`,\n`\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0435\u0435 \u0441\u043f\u0440\u043e\u0441\u0438\u043b.`], \n\n[`00:00:20.643`, `00:00:24,181`,\n`W\u00fcrdest du heute mit mir ausgehen?`,\n`\u0422\u044b \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u043e \u043c\u043d\u043e\u0439 \u043f\u043e\u0448\u043b\u0430 \u0431\u044b \u043a\u0443\u0434\u0430 \u043d\u0438\u0431\u0443\u0434\u044c?`], \n\n[`00:00:26.448`, `00:00:29,201`,\n`Ich w\u00fcrd(e) dich auch nach Haus bring'n.`,\n`\u042f \u0431\u044b \u0442\u0435\u0431\u044f \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043c\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u043b (\u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442\u044c).`], \n\n[`00:00:31.430`, `00:00:34,224`,\n`Ich wei\u00df, du musst fr\u00fch aufstehen.`,\n`\u042f \u0437\u043d\u0430\u044e \u0442\u044b \u0434\u043e\u043b\u0436\u043d\u0430 \u0440\u0430\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0430\u0442\u044c.`], \n\n[`00:00:35.737`, `00:00:39,163`,\n`W\u00fcrdest du trotzdem mit mir ausgehen?`,\n`\u0422\u044b \u0431\u044b \u0432\u0441\u0451 \u0436\u0435 \u0441\u043e \u043c\u043d\u043e\u0439 \u0441\u0445\u043e\u0434\u0438\u043b\u0430 \u0431\u044b \u043a\u0443\u0434\u0430-\u0442\u043e?`], \n\n[`00:00:39.448`, `00:00:46,288`,\n`Ich glaub, ich mag die Art.`,\n`\u042f \u0434\u0443\u043c\u0430\u044e, \u044f \u043b\u044e\u0431\u043b\u044e \u0442\u0432\u043e\u0439 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440 (\u043c\u0430\u043d\u0435\u0440\u044b, \u043f\u043e\u0432\u0430\u0434\u043a\u0438). `], \n\n[`00:00:49.353`, `00:00:51,398`,\n`Dass sie immer am Start ist.`,\n`\u0427\u0442\u043e \u043e\u043d\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 (\u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c - \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442\u0441\u044f)`], \n\n[`00:00:51.937`, `00:00:54,705`,\n`Wenn jemand was sagt, was.`,\n`\u041a\u043e\u0433\u0434\u0430 \u043a\u0442\u043e-\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0447\u0442\u043e-\u0442\u043e, \u0447\u0442\u043e `], \n\n[`00:00:55.418`, `00:00:58.105`,\n`Ihr nicht gef\u00e4llt (da-da-da-da-da).`,\n`\u0415\u0451 \u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f.`], \n\n[`00:01:01.851`, `00:01:04,158`,\n`Ich glaube, auf der Welt.`,\n`\u042f \u0434\u0443\u043c\u0430\u044e \u0432 \u043c\u0438\u0440\u0435`], \n\n[`00:01:07.746`, `00:01:09,361`,\n`Gibt es nicht viele (Menschen).`,\n`\u043d\u0435 (\u0442\u0430\u043a) \u043c\u043d\u043e\u0433\u043e (\u043b\u044e\u0434\u0435\u0439 - \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442\u0441\u044f)`], \n\n[`00:01:12.333`, `00:01:14,028`,\n`Mit so gro\u00dfen Zielen.`,\n`\u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u0446\u0435\u043b\u044f\u043c\u0438.`], \n\n[`00:01:16.715`, `00:01:19,147`,\n`Deswegen hab ich sie gefragt.`,\n`\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0435\u0435 \u0441\u043f\u0440\u043e\u0441\u0438\u043b.`], \n\n[`00:01:21.957`, `00:01:24,702`,\n`W\u00fcrdest du heute mit mir ausgehen?`,\n`\u0422\u044b \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u043e \u043c\u043d\u043e\u0439 \u043f\u043e\u0448\u043b\u0430 \u0431\u044b \u043a\u0443\u0434\u0430 \u043d\u0438\u0431\u0443\u0434\u044c?`], \n\n[`00:01:27.374`, `00:01:29,838`,\n`Ich w\u00fcrd(e) dich auch nach Haus bring'n.`,\n`\u042f \u0431\u044b \u0442\u0435\u0431\u044f \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043c\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u043b (\u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442\u044c).`], \n\n[`00:01:32.215`, `00:01:34,952`,\n`Ich wei\u00df, du musst fr\u00fch aufstehen.`,\n`\u042f \u0437\u043d\u0430\u044e \u0442\u044b \u0434\u043e\u043b\u0436\u043d\u0430 \u0440\u0430\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0430\u0442\u044c.`], \n\n[`00:01:36.657`, `00:01:39,954`,\n`W\u00fcrdest du trotzdem mit mir ausgehen?`,\n`\u0422\u044b \u043d\u0435 \u0445\u043e\u0447\u0435\u0448\u044c \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0441\u043e \u043c\u043d\u043e\u0439 \u0441\u0445\u043e\u0434\u0438\u0442\u044c\n\u043a\u0443\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c? \/ \u0420\u0430\u0437\u0432\u0435 \u0442\u044b \u043d\u0435 \u0445\u043e\u0447\u0435\u0448\u044c \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e\n\u043f\u043e\u0439\u0442\u0438 \u0441\u043e \u043c\u043d\u043e\u0439 \u043a\u0443\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c?`], \n\n[`00:01:39.955`, `00:01:45,000`,\n`W\u00fcrdest du heute mit mir ausgehen?`,\n`\u0422\u044b \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u043e \u043c\u043d\u043e\u0439 \u043f\u043e\u0448\u043b\u0430 \u0431\u044b \u043a\u0443\u0434\u0430 \u043d\u0438\u0431\u0443\u0434\u044c?`], \n\n[`00:01:47.539`, `00:01:50,179`,\n`Ich w\u00fcrd(e) dich auch nach Haus bring'n.`,\n`\u042f \u0431\u044b \u0442\u0435\u0431\u044f \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043c\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u043b (\u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442\u044c).`], \n\n[`00:01:52.586`, `00:01:54,648`,\n`Ich wei\u00df, du musst fr\u00fch aufstehen.`,\n`\u042f \u0437\u043d\u0430\u044e \u0442\u044b \u0434\u043e\u043b\u0436\u043d\u0430 \u0440\u0430\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0430\u0442\u044c.`], \n\n[`00:01:57.067`, `00:02:00,246`,\n`W\u00fcrdest du trotzdem mit mir ausgehen?`,\n`\u0422\u044b \u043d\u0435 \u0445\u043e\u0447\u0435\u0448\u044c \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0441\u043e \u043c\u043d\u043e\u0439 \u0441\u0445\u043e\u0434\u0438\u0442\u044c\n\u043a\u0443\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c? \/ \u0420\u0430\u0437\u0432\u0435 \u0442\u044b \u043d\u0435 \u0445\u043e\u0447\u0435\u0448\u044c \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e\n\u043f\u043e\u0439\u0442\u0438 \u0441\u043e \u043c\u043d\u043e\u0439 \u043a\u0443\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c?`], \n\n[`00:02:05.342`, `00:02:07,738`,\n`Verdammt, ich mag die Art (verdammt, ich mag die Art)`,\n`\u0427\u0435\u0440\u0442 \u0432\u043e\u0437\u044c\u043c\u0438 (\u0447\u0435\u0440\u0442 \u043f\u043e\u0431\u0435\u0440\u0438), \u043c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0435\u0435 (\u043c\u0430\u043d\u0435\u0440\u0430) \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f.`], \n\n[`00:02:10.609`, `00:02:12,266`,\n`Sie ist einfach da (sie ist einfach da)`,\n`\u041e\u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0443\u0442.`], \n\n[`00:02:13.959`, `00:02:14,922`,\n`Und naja (naja)`,\n`\u0447\u0442\u043e \u0436`], \n\n[`00:02:17.572`, `00:02:19,633`,\n`Zum Gl\u00fcck hab ich sie gefragt`,\n`\u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e \u044f \u0435\u0435 \u0441\u043f\u0440\u043e\u0441\u0438\u043b.`], \n\n[`00:02:22.230`, `00:02:25,457`,\n`W\u00fcrdest du heute mit mir ausgehen?`,\n`\u0422\u044b \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u043e \u043c\u043d\u043e\u0439 \u043f\u043e\u0448\u043b\u0430 \u0431\u044b \u043a\u0443\u0434\u0430 \u043d\u0438\u0431\u0443\u0434\u044c?`], \n\n[`00:02:28.294`, `00:02:30,349`,\n`Ich w\u00fcrd(e) dich auch nach Haus bring'n.`,\n`\u042f \u0431\u044b \u0442\u0435\u0431\u044f \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043c\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u043b (\u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442\u044c).`], \n\n[`00:02:32.864`, `00:02:35,518`,\n`Ich wei\u00df, du musst fr\u00fch aufstehen.`,\n`\u042f \u0437\u043d\u0430\u044e \u0442\u044b \u0434\u043e\u043b\u0436\u043d\u0430 \u0440\u0430\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0430\u0442\u044c.`], \n\n[`00:02:35.621`, `00:02:40,267`,\n`W\u00fcrdest du trotzdem mit mir ausgehen?`,\n`\u0422\u044b \u043d\u0435 \u0445\u043e\u0447\u0435\u0448\u044c \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0441\u043e \u043c\u043d\u043e\u0439 \u0441\u0445\u043e\u0434\u0438\u0442\u044c \u043a\u0443\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c? \/ \u0420\u0430\u0437\u0432\u0435 \u0442\u044b \u043d\u0435 \u0445\u043e\u0447\u0435\u0448\u044c \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043f\u043e\u0439\u0442\u0438 \u0441\u043e \u043c\u043d\u043e\u0439 \u043a\u0443\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c?`], \n\n[`00:02:42.733`, `00:02:41.647`,\n`W\u00fcrdest du heute mit mir ausgehen?`,\n`\u0422\u044b \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u043e \u043c\u043d\u043e\u0439 \u043f\u043e\u0448\u043b\u0430 \u0431\u044b \u043a\u0443\u0434\u0430 \u043d\u0438\u0431\u0443\u0434\u044c?`]\n        ];\n\n        let f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment = false; \/\/ \u0426\u0435\u043b\u044c \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u043b \u0440\u0430\u0441\u0447\u0435\u0442 \u043d\u043e\u043c\u0435\u0440\u0430 \"\u0421\u0435\u0433\u043c\u0435\u043d\u0442\u0430\" \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442, \u0442\u043e \u043d\u043e\u043c\u0435\u0440 \u043c\u044b \u0437\u043d\u0430\u0447\u0438\u0442 \u0443\u0436\u0435 \u0437\u043d\u0430\u0435\u043c \u0438 \u0440\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043d\u0435\u043d\u0443\u0436\u043d\u043e.\n\n        \/\/\u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0447\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u043d\u043e\u0432\u044b\u043c \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u043e\u043c \u0443\u0432\u0438\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0438\u043d\u0430\u0447\u0435 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043e\u0448\u0438\u0431\u043a\u0443.\n        \/\/ \u0432\u0435\u0440\u043d\u0443\u0442\u044c const, \u0430 \u043d\u0435 let\n        let segments = segments_.map((segment, index) => [\n            jp_\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0438\u0437_\u0442\u0435\u043a\u0441\u0442\u0430_\u0432_\u0447\u0438\u0441\u043b\u043e_\u0441_\u0437\u0430\u043f\u044f\u0442\u043e\u0439(segment[0]),\n            jp_\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0438\u0437_\u0442\u0435\u043a\u0441\u0442\u0430_\u0432_\u0447\u0438\u0441\u043b\u043e_\u0441_\u0437\u0430\u043f\u044f\u0442\u043e\u0439(segment[1]),\n            segment[2],\n            segment[3],\n            file_NameSong,\n            index            \n        ]);\n\n        \/\/ !!! \u041d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u0435\u0441\u043d\u0438, \u0430 \u0437\u043d\u0430\u0447\u043c\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432 [id_song, NameSong, index_max]\n        index_max_For_song = segments.length - 1; \/\/ \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0434\u0435\u043a \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b.\n\n        const textErr = document.getElementById(\"textErr\");\n        \/\/ let s_temp = \"\"; \/\/??? \u043f\u043e\u0447\u0443\u043c\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430 \u044d\u0442\u0430 \u0441\u0442\u0440\u043e\u043a\u0430 ???\n        \/\/\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0435.\n        \/\/ !!! \u0412 \u0438\u0434\u0438\u0430\u043b\u0435 \u044d\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c\u0441\u044f \u0434\u043e \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043f\u0430\u0434\u0443\u0442 \u0441\u044e\u0434\u0430.\n        \n        \/\/ \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b\n        const audioName = document.getElementById(\"audioName\");\n        const audioStatus = document.getElementById(\"audioStatus\");\n        const audioDefineCurrentSegment = document.getElementById(\"audioDefineCurrentSegment\");\n        const audioCurrentSegment = document.getElementById(\"audioCurrentSegment\");\n\n        const playButton = document.getElementById(\"playButton\");\n        const pauseButton = document.getElementById(\"pauseButton\");\n        const stopButton = document.getElementById(\"stopButton\");\n        const PlaybackSpeedFaster = document.getElementById(\"PlaybackSpeedFaster\");\n        const PlaybackSpeedSlower = document.getElementById(\"PlaybackSpeedSlower\");\n        const previousButton = document.getElementById(\"previousButton\");\n        const repeatButton   = document.getElementById(\"repeatButton\");\n        const continueButton = document.getElementById(\"continueButton\");\n        const determineStartTimeButton = document.getElementById(\"determineStartTimeButton\");\n        const determineEndTimeButton = document.getElementById(\"determineEndTimeButton\");\n\n        const segmentAboveButton = document.getElementById(\"segmentAboveButton\");\n        const segmentBelowButton = document.getElementById(\"segmentBelowButton\");\n\t\t\n\t\t\n        const buttonsContainer = document.getElementById(\"buttonsContainer\");\n        const textContainer = document.getElementById(\"textContainer\");\n        const audio = document.getElementById(\"audio\");\n        const autoPlayFlag = document.getElementById(\"autoPlayFlag\");\n        const testFlag = document.getElementById(\"testFlag\");\n        const PressedButton = document.getElementById(\"PressedButton\");\n\n        let currentSegmentIndex = 0; \/\/ \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438\u043d\u0434\u0435\u043a\u0441\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430.\n        let audio_index = 0; \/\/ \u0414\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0430.\n\n        let segment_temp = \"\";\n        let index_temp = \"\";\n        \n        let \u0441\u0447\u0435\u0442\u0447\u0438\u043a = 0;\n\n        let \u0441\u0447\u0435\u0442\u0447\u0438\u043a_3 = 0; \/\/ \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043e\u0431\u0449\u0438\u0439.\n\t\t\n\t\tlet index_\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044b\u0439_\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0439 = 0; \/\/\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0442\u0438\u043b\u044c \u043f\u0440\u0435\u0434\u0438\u0434\u0443\u0449\u0435\u0433\u043e.\n\t\t\n\t\tlet str_segmen_index = 0; \/\/index \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430.\n\t\tlet str_segmen_index_\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044b\u0439_\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0439 = 0;\n\t\t\/\/let str_segmen_style_backgroundColor_\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044b\u0439_\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0439 = \"\";\n\t\t\n\t\t\/\/!!! \u0412\u0440\u0435\u043c\u0435\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043d\u0443\u0436\u043d\u043e \u0435\u0435 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432.\n\t\t\n        \/\/\u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f - \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u0430 \u0432 \u0447\u0438\u0441\u043b\u043e \u0441 \u0437\u0430\u043f\u044f\u0442\u043e\u0439.\n        \/\/\n        function jp_\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0438\u0437_\u0442\u0435\u043a\u0441\u0442\u0430_\u0432_\u0447\u0438\u0441\u043b\u043e_\u0441_\u0437\u0430\u043f\u044f\u0442\u043e\u0439(timeString) {\n\t\t\t\/\/ \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f\n\t\t\t\/\/ \u0431\u044b\u043b\u043e \"01:01:01.256\" \u0438\u043b\u0438 \"01:01:01,256\" \u0441\u0442\u0430\u043b\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432 \u0441\u0435\u043a.\n            let parts = timeString.split(':');\n            let secondsAndMillis = parts[2].replace(\",\", \".\").split('.');\n            let seconds = parseFloat(secondsAndMillis[0]);\n            let milliseconds = parseFloat(\"0.\" + secondsAndMillis[1]);\n            let minutes = parseInt(parts[1]);\n            let hours = parseInt(parts[0]);\n            return hours * 3600 + minutes * 60 + seconds + milliseconds;\n        }\n\n        function fjp_\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u043c_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0432_\u0444\u043e\u0440\u043c\u0430\u0442_hhmmss_Milliseconds(seconds) {\n\t\t\tconst milliseconds = Math.floor((seconds % 1) * 1000); \/\/ \u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u043c \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u044b\n\t\t\tconst totalSeconds = Math.floor(seconds); \/\/ \u0411\u0435\u0440\u0451\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0446\u0435\u043b\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0441\u0435\u043a\u0443\u043d\u0434\n\t\t\tconst hours = Math.floor(totalSeconds \/ 3600); \/\/ \u0427\u0430\u0441\u044b\n\t\t\tconst minutes = Math.floor((totalSeconds % 3600) \/ 60); \/\/ \u041c\u0438\u043d\u0443\u0442\u044b\n\t\t\tconst secs = totalSeconds % 60; \/\/ \u0421\u0435\u043a\u0443\u043d\u0434\u044b\n\n\t\t\t\/\/ \u0424\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0438 \u0441 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0432\u0435\u0434\u0443\u0449\u0438\u0445 \u043d\u0443\u043b\u0435\u0439, \u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\n\t\t\tconst formattedHours = String(hours).padStart(2, '0');\n\t\t\tconst formattedMinutes = String(minutes).padStart(2, '0');\n\t\t\tconst formattedSeconds = String(secs).padStart(2, '0');\n\t\t\tconst formattedMilliseconds = String(milliseconds).padStart(3, '0');\n\n\t\t\treturn `${formattedHours}:${formattedMinutes}:${formattedSeconds}.${formattedMilliseconds}`;\n\t\t}\n\n\n\n        function fjp_\u0412\u043e\u0437\u0440\u0430\u0449\u0430\u0435\u043c\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435\u0412\u0440\u0435\u043c\u044f_hms_m() {\n        \/\/ \u0412\u043e\u0437\u0440\u0430\u0449\u0430\u0435\u043c \u043f\u043e\u043b\u043d\u043e\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0432 \u0432\u0438\u0434\u0435 \u0441\u0442\u0440\u043e\u043a\u0438, \u0434\u043b\u044f \u0410\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.\n        \/\/ \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442 Date, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f.\n            const currentTime = new Date();\n            const hours = currentTime.getHours(); \n            const minutes = currentTime.getMinutes(); \n            const seconds = currentTime.getSeconds();\n            const milliseconds = currentTime.getMilliseconds();\n            return (`${hours}:${minutes}:${seconds}.${milliseconds}`);\n        }\n\n\n        function jp_\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c_\u0447\u0442\u043e_\u0432\u0440\u0435\u043c\u0435\u043d\u044b\u0435_\u043c\u0435\u0442\u043a\u0438_\u0432_\u043f\u043e\u0440\u044f\u0434\u043a\u0435(segments) {\n        \/\/\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435.\n            for (let i = 1; i < segments.length; i++) {\n                let previousTime = segments[i - 1][0];\n                let currentTime = segments[i][0];\n                if (currentTime <= previousTime) {\n                    s_temp = `\u041e\u0448\u0438\u0431\u043a\u0430: \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 ${i} (${segments_[i][0]}) \u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c\u0443 (${segments_[i - 1][0]})`;\n                    textErr.textContent = s_temp;\n                    return s_temp;\n                }\n            }\n            return \"\u0412\u0441\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e.\";\n        }\n\n        \/\/\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c_\u0432_\u043a\u043e\u043d\u0435\u0446_\u043c\u0430\u0441\u0441\u0438\u0432\u0430_NextPeriodOfTime\n        function jp_\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c_\u0432_\u043a\u043e\u043d\u0435\u0446_\u043c\u0430\u0441\u0441\u0438\u0432\u0430_NextPeriodOfTime(segments1) {\n            \/\/\u041f\u0440\u0438\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a \u043c\u0430\u0441\u0441\u0438\u0432\u0443 index \u0438\u0437 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u044d\u0442\u043e\u0433\u043e \u0436\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u043d\u043e \u0435\u0441\u043b\u0438 \u043e\u043d \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d \u0431\u0435\u0440\u0435\u043c index \u0438\u0437 \u044d\u0442\u043e\u0439 \u0436\u0435 \u0441\u0442\u0440\u043e\u043a\u0438.\n            let segments2 = segments1.map((segment, index) => {\n                let nextStartTime = (index < segments1.length - 1) ? segments1[index + 1][0] : segments1[index][1];\n                return [...segment, nextStartTime];\n            });\n             \n            return segments2;\n        }\n\n        function fjp_audio_src_\u0437\u0430\u0434\u0430\u0442\u044c_\u0434\u043b\u044f_\u043f\u043b\u0435\u0435\u0440\u0430_\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435_file(file) {\n            if (audio.src.split(\"\/\").pop() != file ) {\n\t\t\t\t\/\/\u042d\u0442\u043e \"audio.src.split(\"\/\").pop()\" - \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0432 Python \"audio.src.split(\"\/\").[-1]\", \u0442.\u0435. \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442. \n\t\t\t\t\n            \/\/ !!! \u0442\u0443\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0435\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u0442\u043e\u0442 \u0436\u0435, \u0442\u043e \u043d\u0435 \u043f\u0435\u0440\u0435\u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0442\u044c \u0435\u0433\u043e.\n                console.log (\"file\");\n                audio.src = file; \/\/!!! \u0422\u0443\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0444\u0430\u0439\u043b \u043c\u043e\u0436\u0435\u043d \u043d\u0435\u0443\u0441\u043f\u0435\u0432\u0430\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f \u0435\u0441\u043b\u0438 \u043e\u043d \u043d\u0435 \u043e\u0434\u0438\u043d.\n            }\n        }\n\n        function fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0436\u0430\u0442\u0443\u044e_\u043a\u043d\u043e\u043f\u043a\u0443(button) {\n            \/\/fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0436\u0430\u0442\u0443\u044e_\u043a\u043d\u043e\u043f\u043a\u0443\n            PressedButton.textContent = button;\n        }\n\n        function fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435_\u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e_\u0424\u0430\u0439\u043b\u0430(file=\"\") {\n            if (file == \"\") {\n\t\t\t\tfile = audio.src.split(\"\/\").pop(); \/\/ \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0432 Python \"audio.src.split(\"\/\").[-1]\", \u0442.\u0435. \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442.\n            }\n\t\t\t\/\/ \u041f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u043d\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u043e\u043d \u043d\u043e\u0432\u044b\u0439, \u043d\u0435 \u0442\u0430\u043a\u043e\u0439 \u043a\u0430\u043a \u0431\u044b\u043b \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430.\n\t\t\taudioName.textContent = `\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430: ${file}`; \/\/\u0432\u044b\u0432\u043e\u0434\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443.\n        }\n\n        function fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0442\u0435\u043a\u0443\u0449\u0443\u044e_\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c_\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f() {\n            document.getElementById(\"audioCurrentPlaybackSpeed\").textContent = `\u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c: ${audio.playbackRate}`;\n        }\n\n\t\t\/\/ !!! \u0427\u0442\u043e \u0437\u0430 \u0445\u0440\u0435\u043d\u044c \u0435\u0441\u043b\u0438 \"\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430\" \u0443\u0431\u0440\u0430\u0442\u044c \"\u0430\" \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \"\u0441\u0435\u0433\u043c\u0435\u043d\u0442\", \u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0434\u0435\u0440\u0433\u0430\u0442\u044c\u0441\u044f \u0443\u043a\u0440\u0430\u043d - \u041f\u041e\u0427\u0415\u041c\u0423 ?\n        function fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_index_\u0438_\u043c\u0435\u0442\u043a\u0438_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e_\u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430(index, start, end) {\n            audioDefineCurrentSegment.textContent = `\u2116 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430: \u2116 ${index}`;\n            \n            \/\/ \u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u041f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a \u0434\u043b\u044f \u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430.\n            audioCurrentSegment.textContent = `\u041f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a \u0434\u043b\u044f \u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430: c ${start.toFixed(3)} \u043f\u043e ${end.toFixed(3)}`;\n        }\n\n        \/\/ \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0430\u0443\u0434\u0438\u043e\n        \/\/\n        function fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e_\u043e_\u0442\u0435\u043a\u0443\u0449\u0435\u043c_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0438_\u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438_audio(p_currentTime = audio.currentTime) {\n            \/\/!!! \u041d\u0443\u0436\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u0435\u0435 !\n            \/\/ \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043d\u0435 \u043f\u0443\u0441\u043a\u0430\u044f.\n\n            \/*\n            if (isNaN(p_currentTime)) {\n                p_currentTime = 0; \/\/ \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0435\u0441\u043b\u0438 `audio.currentTime` \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\n            }\n            const currentTime = p_currentTime.toFixed(3);\n            *\/\n\n            const currentTime = (isNaN(p_currentTime) ? 0 : p_currentTime).toFixed(3);\n            const duration = isNaN(audio.duration) ? 0 : audio.duration.toFixed(3); \/\/ \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u043e\u0439 \u0435\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u0435\u0449\u0435 \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d.\n            audioStatus.textContent = `\u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0430\u0443\u0434\u0438\u043e: ${fjp_\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u043c_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0432_\u0444\u043e\u0440\u043c\u0430\u0442_hhmmss_Milliseconds(currentTime)} \u0441\u0435\u043a. \u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c: ${fjp_\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u043c_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0432_\u0444\u043e\u0440\u043c\u0430\u0442_hhmmss_Milliseconds(duration)} \u0441\u0435\u043a.`;\n\t\t\t\n\n        }\n\n        function fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0432\u0441\u0435_\u0447\u0442\u043e_\u043d\u0443\u0436\u043d\u043e_\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c() {\n            fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435_\u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e_\u0424\u0430\u0439\u043b\u0430();\n            fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e_\u043e_\u0442\u0435\u043a\u0443\u0449\u0435\u043c_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0438_\u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438_audio();\n\t\t\t\n\t\t\t\/\/fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_index_\u0438_\u043c\u0435\u0442\u043a\u0438_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e_\u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430(index, start, end);\n\t\t\tfjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_index_\u0438_\u043c\u0435\u0442\u043a\u0438_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e_\u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430(...fjp_audioDefineCurrentSegment());\n\t\t\t\n\t\t\tfjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0442\u0435\u043a\u0443\u0449\u0443\u044e_\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c_\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f();\n\t\t\t\/\/fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0436\u0430\u0442\u0443\u044e_\u043a\u043d\u043e\u043f\u043a\u0443();\n        }\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n        function fjp1_\u0412\u044b\u0432\u043e\u0434\u0438\u043c_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0432\u0441\u0435_\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b_\u0442\u0435_\u0441\u0443\u0431\u0442\u0438\u0442\u0440\u044b() {\n        \/\/ fjp1_\u0421\u043e\u0437\u0434\u0430\u0435\u043c_\u043a\u043d\u043e\u043f\u043a\u0438_\u0434\u043b\u044f_\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043e\u0432\n            segments.forEach((segment, index) => {\n                const segmentContainer = document.createElement(\"div\");\n                segmentContainer.style.marginBottom = \"10px\";\n\n                const text_1 = document.createElement(\"span\");\n                text_1.textContent = `${index}-`;\n                text_1.style.marginLeft = \"8px\";\n\n                const button = document.createElement(\"button\");\n                button.textContent = \"\u25ba\";\n                button.addEventListener(\"click\", () => fjp_playAudioSegment(segment[5],segment[0], segment[1], segment[4], segment[6])); \/\/(segment[5]=index)\n                button.style.backgroundColor = \"LightSkyBlue\"; \/\/\"yellow\"\n\t\t\t\tbutton.classList.add(\"CB\"); \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u0430 \"CB\"\n\t\t\t\tbutton.id = \"idButton_\"+segment[5]; \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 id (segment[5]=index)\n\n\t\t\t\t\/\/\u041c\u0435\u0441\u0442\u043e \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043a\u0438 \u0432\u043e\u0432\u0440\u0435\u043c\u044f \u041d\u0410\u0427\u0410\u041b\u041e \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043d\u0438\u044f Audio.\n                const text_mn = document.createElement(\"span\");\n                text_mn.textContent = ``;\n                text_mn.id = \"id_text_subtitles_mn\" + segment[5]; \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 id\n\t\t\t\ttext_mn.style.marginLeft = \"12px\";\n\t\t\t\ttext_mn.style.backgroundColor = \"yellow\";\n\t\t\t\ttext_mn.style.Color = \"blue\";\n\n\t\t\t\t\/\/\u041c\u0435\u0441\u0442\u043e \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043a\u0438 \u0432\u043e\u0432\u0440\u0435\u043c\u044f \u041a\u041e\u041d\u0415\u0426 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043d\u0438\u044f Audio.\n                const text_mk = document.createElement(\"span\");\n                text_mk.textContent = ``;\n                text_mk.id = \"id_text_subtitles_mk\" + segment[5]; \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 id\n\t\t\t\ttext_mk.style.marginLeft = \"12px\";\n\t\t\t\ttext_mk.style.backgroundColor = \"Aqua\";\n\t\t\t\ttext_mk.style.Color = \"green\";\n\n\t\t\t\t\/\/\u0412\u044b\u0432\u043e\u0434\u0438\u043c \u0442\u0435\u0441\u043a\u0442 DE\n                const text_2 = document.createElement(\"span\");\n\t\t\t\ttext_2.id = \"id_text_de\" + segment[5];\n                text_2.textContent = `${segment[2]}\\n\\r`;\n                text_2.style.marginLeft = \"12px\";\n\t\t\t\ttext_2.style.backgroundColor = \"LightSkyBlue\";\n\t\t\t\ttext_2.style.Color = \"Red\";\n\n\t\t\t\t\/\/\u0412\u044b\u0432\u043e\u0434\u0438\u043c \u0442\u0435\u0441\u043a\u0442 RU\n                const text_3 = document.createElement(\"span\");\n                text_3.textContent = `${segment[3]} `;\n                text_3.style.marginLeft = \"10px\";\n\n\t\t\t\t\/\/\u0412\u0440\u0435\u043c\u0435\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438 \u0434\u043b\u044f \u0421\u0443\u0431\u0442\u0438\u0442\u0440\u043e\u0432.\n                const text_4 = document.createElement(\"span\");\n                text_4.textContent = `(${fjp_\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u043c_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0432_\u0444\u043e\u0440\u043c\u0430\u0442_hhmmss_Milliseconds(segment[0].toFixed(3))} \u27a1 ${fjp_\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u043c_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0432_\u0444\u043e\u0440\u043c\u0430\u0442_hhmmss_Milliseconds(segment[1].toFixed(3))})`;\n                text_4.style.marginLeft = \"10px\";\n\t\t\t\ttext_4.style.color = \"gray\";\n\n                segmentContainer.appendChild(text_1);\n                segmentContainer.appendChild(button);\n                segmentContainer.appendChild(text_mn);\n                segmentContainer.appendChild(text_mk);\n                segmentContainer.appendChild(text_2);\n\t\t\t\tsegmentContainer.appendChild(text_3);\n\t\t\t\tsegmentContainer.appendChild(text_4);\n                textContainer.appendChild(segmentContainer);\n            });\n        }\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n        function fjp_\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c_index_\u043f\u043e_Time(p_currentTime = audio.currentTime) {\n\t\t\t\/\/!!! \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \"fjp_audioDefineCurrentSegment()\"\n            \/\/ \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0438 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442, \u0442.\u0435. \u0438\u043d\u0434\u0435\u043a\u0441.\n            let s1 = Number(p_currentTime.toFixed(3)); \/\/ audio.currentTime;\n            \/\/ \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u043c \u043d\u0438\u0436\u0435.\n\t\t\tlet index = 0;\n\t\t\tsegments.forEach((segment) => {\n\t\t\t\tif ( Number(segment[0].toFixed(3) <= s1) ) {\n\t\t\t\t\tindex = Number(segment[5].toFixed(3));\n\t\t\t\t\t\/*\n\t\t\t\t\t\/\/!!!\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0433\u0430\u0434\u044f\u0442\u044c\u0441\u044f \u0438 index_end \u0447\u0442\u043e\u0431\u044b \u0437\u043d\u0430\u0442\u044c \u0447\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.\n\t\t\t\t\tlet end = Number(segment[1].toFixed(3) <= s1) );\n\t\t\t\t\tif ((s1 < end) ) {\n\t\t\t\t\t\tlet index_end = Number(segment[5].toFixed(3));\/\/Number(segment[5].toFixed(3)); \u0438\u043b\u0438 index;\n\t\t\t\t\t}\n\t\t\t\t\t*\/\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn index; \/\/\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0442\u0430\u043a\u0436\u0435 \u0438 index_end\n\t\t}\n\t\t\n\t\tfunction fjp_\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c_Time_\u043f\u043e_index(index){\n\t\t\t\/*\n\t\t\tsegments.forEach((segment) => {\n\t\t\t\tif ( index == segment[5] ) {\n\t\t\t\t\treturn segment[0];\n\t\t\t\t}\n\t\t\t});\n\t\t\t*\/\n\t\t\t\n\t\t\t\/\/\u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u0435\u0442\u043e\u0434 find \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u043f\u0435\u0440\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 segments, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u0435 index == segment[5] \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f. \u0415\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043d\u0430\u0439\u0434\u0435\u043d, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0435\u0433\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 segment[0], \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f undefined.\n\t\t\tconst segment = segments.find(segment => index == segment[5]); return segment ? segment[0] : undefined;\n\t\t}\n\n\t\tfunction fjp_\u043a_index_\u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c_step(index, step) {\n\t\t\/\/\u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u0442 \u0447\u0442\u043e 0 =< (index + step) =< index_max_For_song\n\t\t\tif ( (0 <= index + step) &#038;&#038; (index + step <= index_max_For_song) ) {\n\t\t\t\treturn (index + step);\n\t\t\t} else {\n\t\t\t\treturn (index);\n\t\t\t} \n\t\t}\n\n        \/\/ !!! !!! \u0412\u0410\u0416\u041d\u041e. \u041f\u0415\u0420\u0415\u0414\u0415\u041b\u0410\u0422\u042c \u0447\u0442\u043e\u0431\u044b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 (return) \u0431\u044b\u043b \u0432\u0441\u0435\u0433\u0434\u0430, \u0442.\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043a\u0430\u0442\u044c \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u043a \u0442\u0435\u043a\u0443\u0449\u0435\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041d\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0447\u0442\u043e \u0434\u043b\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0435\u0442 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u043e\u043d \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442, \u0442\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0431\u0440\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u0438\u0434\u0443\u0449\u0438\u0439. \u0412\u041e\u0417\u041c\u041e\u0416\u041d\u041e \u0441\u0442\u043e\u0438\u0442 \u0431\u0435\u0436\u0430\u0442\u044c \u0441\u043a\u043e\u043d\u0446\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u043f\u0435\u0440\u0432\u043e\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0438 \u0435\u0441\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u0441\u0435\u0433\u043c\u0435\u043d \u0438 \u043d\u0435\u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a.\n        function fjp_audioDefineCurrentSegment (p_currentTime = audio.currentTime, step = 0) {\n            \/\/\u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f - \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442 \u043f\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438.\n\t\t\t\/\/ step  -1, 0(\u043f\u043e \u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e) \u0438\u043b\u0438 +1. 0 - \u042d\u0442\u043e \u0436\u0435 \u0441\u0435\u0433\u043c\u0435\u043d\u0442, -1 \u043f\u0440\u0435\u0434\u0438\u0434\u0443\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442, 1 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442.   \n            \/\/ !!! \u041c\u043e\u0436\u043d\u043e \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c. \n            \/\/ 1. \u041d\u0435\u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0441 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u21160, \u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u0441 \u0442\u043e\u0433\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043d\u0430\u0439\u0434\u0435\u043d\n            \/\/ 2. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0435\u0442 \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u0437\u0443\u043d\u043e\u043a \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0442\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0441 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u21160, \u043d\u043e \u0443\u0431\u044b\u0441\u0442\u0440\u0438\u0442\u044c \u0430\u043b\u0433\u043e\u0442\u0438\u0442\u043c \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \"\u0441\u0435\u0433\u043c\u0435\u043d\u0442\" \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u043f\u0440\u044b\u0436\u043a\u043e\u0432 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c \u043d\u0430 50% \u0432\u043f\u0435\u0440\u0435\u0434 \u0438\u043b\u0438 \u043d\u0430\u0437\u0430\u0434 (\u044d\u0442\u043e \u043a\u0430\u043a \u0431\u044b\u0441\u0442\u0440\u0430\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430). \u0415\u0441\u043b\u0438 \"\u0441\u0435\u0433\u043c\u0435\u043d\u0442\"-\u043e\u0432 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c 12, \u0442\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0441 6, \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u0440\u044b\u0433\u0430\u0435\u043c \u043d\u0430 3 \u0438\u043b\u0438 9 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u043c\u0435\u043d\u044c\u0448\u0435.  \n            \n            \/\/fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e_\u043e_\u0442\u0435\u043a\u0443\u0449\u0435\u043c_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0438_\u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438_audio(p_currentTime);\n            \n\t\t\t\n\t\t\t\/\/!!! !!! \u0413\u043b\u0443\u043f\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 index. \u0410 \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u044c\u0441\u044f \u0447\u0442\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \n\t\t\t\/\/ 1. \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 index, \n\t\t\t\/\/2. \u043f\u043e\u0442\u043e\u043c\u0443 \u0432\u0437\u044f\u0442\u044c \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0439 index \u0447\u0442\u043e\u0431\u044b \u043f\u043e \u043d\u0435\u043c\u0443 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f,\n\t\t\t\/\/3. \u0438 \u043f\u043e\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u044d\u0442\u043e \u0432\u0435\u043c\u044f \u0432\u0440\u0435\u043c\u044f \u0447\u0442\u043e\u0431\u044b \u043e\u043f\u044b\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c index (\u0442.\u043a. \u0444\u0443\u043a\u0446\u0438\u044f fjp_audioDefineCurrentSegment() \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c) - \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043d\u0435 \u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e.\n\t\t\tif (step != 0) {\n\t\t\t\tlet index_temp1 = fjp_\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c_index_\u043f\u043e_Time(p_currentTime);\n\t\t\t\tlet index_temp2 = fjp_\u043a_index_\u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c_step(index_temp1, step);\n\t\t\t\tlet p_currentTime_2 = fjp_\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c_Time_\u043f\u043e_index(index_temp2);\n\t\t\t\tp_currentTime = p_currentTime_2;\n\t\t\t}\n\n\n            \/\/ \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0438 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442, \u0442.\u0435. \u0438\u043d\u0434\u0435\u043a\u0441.\n            let s1 = Number(p_currentTime.toFixed(3)); \/\/ audio.currentTime;\n            \/\/ \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u043c \u043d\u0438\u0436\u0435.\n            \n            \/\/!!! \u041d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d, \u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u0437\u044f\u0442\u043e \u043d\u0435\u043a\u043e\u0435 \u0431\u043b\u0438\u0437\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.\n            \/\/let index_2 = 0;\n            let index_start = 0;\n            let index_end = 0; \/\/\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u044d\u0442\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043d\u0435\u043d\u0443\u0436\u043d\u043e. \u042f \u0435\u0435 \u0432\u0432\u0435\u043b \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0442\u043e \u0438\u043d\u0434\u0435\u043a\u0441 \u043f\u043e index_start \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435 \u0440\u0430\u0432\u0435\u043d index_end \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u043e\u0433\u0434\u0430 \u0432\u0440\u0435\u043c\u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0440\u0438 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043d\u0438\u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u0432\u044b\u0448\u043b\u043e \u0437\u0430 \u043f\u0440\u0438\u0434\u0435\u043b\u044b \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430\n            let start = 0;\n            let end = 0;\n            let file = \"\";\n            \/\/ !!! \u044d\u0442\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c, \u0440\u0435\u0448\u0438\u0442\u044c \u043f\u043e \u0434\u0440\u0443\u0433\u043e\u043c\u0443. \n            \/\/file = \"Ausgehen_AnnenMayKantereit_2.mp3\"; \/\/ !!! \u0437\u0430\u0442\u044b\u0447\u043a\u0430 \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439 \u0435\u0441\u043b\u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 (\u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u0438 \u0424\u0430\u0439\u043b) \u043d\u0435\u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0439\u0434\u0435\u043d\n\n\n\t\t\t\/\/\n\n            \/\/\u0427\u0442\u043e\u0431\u044b \u043d\u0430\u0439\u0442\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0438\u043d\u0434\u0435\u0439\u0441 \u0434\u043b\u044f \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u043f\u0440\u043e\u0431\u0435\u0433\u0430\u0435\u043c \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0435\u0441\u043b\u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442, \u0442\u043e \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441.\n            \/\/\/\/if (f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment == false) {\n                segments.forEach((segment, index) => {\n                    \/\/ \u0432\u044b\u0432\u0435\u0441\u0442\u0438\u0442\u044c  \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\n                    \/\/console.log(`${segment[0].toFixed(3)} <= ${s1} < ${segment[6]}; ${index}`); \/\/\n                    \/\/if ( (start <= s1)) {\n\t\t\t\t\tif ( Number(segment[0].toFixed(3) <= s1) ) {\n                        start = Number(segment[0].toFixed(3));\n                        \/\/end = Number(segment[6].toFixed(3));\n\t\t\t\t\t\tend = Number(segment[1].toFixed(3));\n                        file = segment[4];\n                        index_start = Number(segment[5].toFixed(3));\/\/Number(segment[5].toFixed(3)); \u0438\u043b\u0438 index;\n                        \/\/console.log(file);\n                        \/\/if ( (start <= s1) &#038;&#038; (s1 < end) ) {\n                        if ((s1 < end) ) {\n                            index_end = Number(segment[5].toFixed(3));\/\/Number(segment[5].toFixed(3)); \u0438\u043b\u0438 index;\n                        }\n                        \/\/console.log(`Ok`); \/\/\n                \/\/ fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_index_\u0438_\u043c\u0435\u0442\u043a\u0438_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e_\u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430(index_start, start, end); \/\/\u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435. \/\/ \u0438 \u0442\u0430\u043a\u0436\u0435 - \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.\n                        \/\/\u0422\u0435\u043a\u0443\u0449\u0438\u0439_\u0441\u0435\u0433\u043c\u0435\u043d\u0442_c_\u043f\u043e(start, end); \/\/\u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.\n                    }\n                    \/\/document.getElementById(\"audioDefineCurrentSegment\").textContent = `\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442: \u2116 ${index_2}`;\n                });\n            \/\/\/\/} else {\n                \/\/ \u043a\u043e\u0433\u0434\u0430 f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment == true, \u0442\u043e\u0433\u0434\u0430 \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u043e\u0432\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0437\u0432\u0443\u043a \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043e\u0441\u043d\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u0447\u0435\u0442\u043a\u043e\u0432 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u044c\u043d\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0436\u0435 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0431\u0440\u0430\u0442\u044c index \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 (\u043e\u043d \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c), \u0430 \u043d\u0435 \u0432\u0440\u0435\u043c\u044f.\n                \/\/ !!! \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0432\u044b\u0448\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \"\u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f audio:\" \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \"fjp_playAudioSegment(start, end, file, index)\" \u042f \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043b\u043b \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u0441\u0442\u0440\u043e\u043a\u0443 \"audio.currentTime = end;\"\n                \n            \/\/\/\/}\n            return [index_start, start, end, file, index_end];\n\n              \/* return {\n    index: index_start,\n    start: start,\n    end: end,\n    file: file,\n    index_end: index_end\n  }; *\/\n  \n\n        }\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n        \/\/ !!! \u0434\u043e\u0434\u0435\u043b\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e\n        \/\/ \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f audio \u0444\u0430\u0439\u043b\u0430\n        function fjp_\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c_\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435_\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f_audio() { \n            \/\/ True - \u0435\u0441\u043b\u0438 \u0430\u0443\u0434\u0438\u043e \u043d\u0435 \u043f\u0440\u043e\u0438\u0433\u044b\u0432\u0430\u0435\u0442\u044c\u0441\u044f \u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442.\n            \/\/let f_true_false = !audio.paused &#038;&#038; !audio.ended &#038;&#038; audio.currentTime > 0;\n            \/\/if (f_true_false == false) {\n            if ( (!audio.paused && !audio.ended && audio.currentTime > 0) == false) {\n            \/\/\u0415\u0441\u043b\u0438 \"audio\" \u043d\u0435 \u0438\u0433\u0440\u0430\u0435\u0442, \u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0444\u043b\u0430\u0433 \u0447\u0442\u043e \u0441\u0438\u0433\u043c\u0435\u043d \u0431\u044b\u043b \u043f\u0440\u0435\u0440\u0432\u0430\u043d.\n                return true;\n            } else {\n                return false;\n            }\n        }\n\n        function fjp_\u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c_\u0430\u0443\u0434\u0438\u043e_\u043f\u043e_\u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044e_\u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e_\u0432\u0440\u0435\u043c\u0435\u043d\u0438(end, index) { \n        \/\/fjp_Stop__audio_when__specified_time_is_reached - \"fjp_\u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c_\u0430\u0443\u0434\u0438\u043e_\u043f\u043e_\u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044e_\u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e_\u0432\u0440\u0435\u043c\u0435\u043d\u0438\"\n        \/\/ \u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0430\u0443\u0434\u0438\u043e \u043f\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438\n            \/\/ \u0438\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\n            \/\/fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e_\u043e_\u0442\u0435\u043a\u0443\u0449\u0435\u043c_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0438_\u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438_audio();\n            \n            \/\/fjp_\u041f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438_\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c_\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f_\u043f\u043e_\u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443_\u0442\u0430\u0439\u043c\u0435\u0440\u0443();\n            \n            if (audio.currentTime >= end) {\n                fjp_AudioPause(); \/\/ \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0442\u0435\u0443\u0449\u0435\u0433\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430.\n\t\t\t\t\n\t\t\t\t\/\/!!! \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \"audio.ontimeupdate = null;\" \u0441\u0442\u043e\u0438\u0442 \u0442\u0443\u0442 \u0435\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c, \u0442.\u043a. \u043e\u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u044c\u0441\u044f \u0442\u0430\u043a\u0436\u0435 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \"fjp_AudioPause\"\n                audio.ontimeupdate = null; \/\/\u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u044c\u0441\u044f \u043a\u043e\u0433\u0434\u0430 \u0432\u0440\u0435\u043c\u044f \u0432 audio \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u044c\u0441\u044f. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0435\u043c\u0443 \u0441\u043e\u0431\u0438\u0442\u0438\u044e audio \u0434\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442 \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430.\n                \n                \/\/\u041a\u043e\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0432\u0440\u0435\u043c\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u043e \u0432\u044b\u0448\u043b\u043e \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 (\u043f\u043e\u043a\u043e\u043b\u044c\u043a\u0443 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u044c\u0441\u044f \u0441 \u043e\u043f\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c). \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043d\u044f\u0442\u044c - 0.001 \u0438\u043d\u0430\u0447\u0435 \u0435\u0441\u043b\u0438 \u0447\u0435\u0442\u043a\u043e \u0431\u044b\u0442\u044c \u0440\u0430\u0432\u043d\u044b\u043c \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0439 \u0432\u0440\u043c\u043c\u0435\u043d\u043e\u0439 \u043c\u0435\u0442\u043a\u0435, \u0442\u043e \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0447\u0430\u043b\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u0442\u0430\u043a\u0436\u0435  (\u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043a\u043d\u0435\u0446 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430 \u044d\u0442\u043e \u043d\u0430\u0447\u0430\u043b\u043e \u0432\u0442\u043e\u0440\u043e\u0433\u043e)\n                \/\/!!! \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043c\u043d\u0435 \u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0447\u0442\u043e \u043c\u044b \u043a\u043e\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u043d\u0435\u0432\u0438\u0434\u0438\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438.\n                fjp_\u0421\u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c_playback_\u043d\u0430_\u0437\u0430\u0434\u0430\u043d\u043e\u0435_\u0432\u0440\u0435\u043c\u044f(end - 0.001); \/\/ !!! \u043b\u0443\u0447\u0448\u0435 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0432 \u043a\u0430\u043a\u043e\u0439\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0438 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f.\n                \n                \/\/\u042d\u0442\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442, \u043a\u043e\u0433\u0434\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u0442\u043e \u0435\u0441\u0442\u044c \u043a\u043e\u0433\u0434\u0430 \u0430\u0443\u0434\u0438\u043e \u0438\u043b\u0438 \u0432\u0438\u0434\u0435\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u043b\u0438 \u0435\u0433\u043e \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f. = null: \u041f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u0435 null \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u0441\u043e\u0431\u044b\u0442\u0438\u044f ontimeupdate \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0435 \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u044f\u0435\u0442\u0435 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u044f.\n                console.log('\u0421\u0435\u0433\u043c\u0435\u043d\u0442 \u0430\u0443\u0434\u0438\u043e \u0434\u043e\u0441\u0442\u0438\u0433 \u043a\u043e\u043d\u0446\u0430', `\u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f: ${fjp_\u0412\u043e\u0437\u0440\u0430\u0449\u0430\u0435\u043c\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435\u0412\u0440\u0435\u043c\u044f_hms_m()}`);\n\n                \/\/ \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u043a \u0430\u0443\u0434\u0438\u043e - \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442.\n                let currentSegmentIndex = index;\n               if ((autoPlayFlag.checked) && (currentSegmentIndex < segments.length)) {\n                    \/\/ \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0443, \u0435\u0441\u043b\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0444\u043b\u0430\u0433 \"\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b.\" \u0438 \u043c\u044b \u043d\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430.\n                    console.log (\"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442.\");\n                    currentSegmentIndex++;\n                    const nextSegment = segments[currentSegmentIndex];\n                    fjp_playAudioSegment(currentSegmentIndex, nextSegment[0], nextSegment[1], nextSegment[4], nextSegment[6]);\n               }\n            }\n\n        }\n\n        \/\/ \u0424\u0443\u043d\u043a\u0446\u0438\u044f - \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430 \u0444\u0430\u0439\u043b.\n        function fjp_playAudioSegment(index, start, end, file, index_end) {\n\t\t\t\/\/index_end - \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u043e\u043c \u0440\u0430\u0437\u0432\u0430\u0440\u0430\u0447\u0438\u0432\u0430\u044f \u0443\u043d\u043a\u0446\u0438\u044e \"\" \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0435\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u043e \u043f\u043e\u043a\u0430 \u043e\u043d\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e.\n            \/\/f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment = true; \/\/ \u043d\u0443\u0436\u043d\u043e \u044d\u0442\u043e\u0442 \u0444\u043b\u0430\u0433 \u0421\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0436\u0430\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 \u043f\u0440\u043e\u0438\u0433\u0440\u0430\u0442\u044c \u0441\u0435\u0433\u043c\u0435\u043d\u0442.\n\n            fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435_\u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e_\u0424\u0430\u0439\u043b\u0430(file);\n            fjp_audio_src_\u0437\u0430\u0434\u0430\u0442\u044c_\u0434\u043b\u044f_\u043f\u043b\u0435\u0435\u0440\u0430_\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435_file(file);\n\n            \/\/ !!!\n            fjp_\u0421\u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c_playback_\u043d\u0430_\u0437\u0430\u0434\u0430\u043d\u043e\u0435_\u0432\u0440\u0435\u043c\u044f(start);\n            fjp_audio_play(); \/\/ audio.play();\n\n            \/\/\u0422\u0435\u043a\u0443\u0449\u0438\u0439_\u0441\u0435\u0433\u043c\u0435\u043d\u0442_c_\u043f\u043e(start, end); \/\/\u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.\n         \/\/ fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_index_\u0438_\u043c\u0435\u0442\u043a\u0438_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e_\u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430(index, start, end); \/\/\u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435. \/\/ \u0438 \u0442\u0430\u043a\u0436\u0435 - \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.\n            \/\/ \u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0430\u0443\u0434\u0438\u043e \u043f\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438\n            \/\/ \u0438\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\n            \n            \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0430\u0443\u0434\u0438\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 ontimeupdate \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u043e \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0435\u0441\u043b\u0438 \u0432\u044b \u0432\u044b\u0437\u043e\u0432\u0438\u043c \u043e\u0437\u0432\u0443\u0447\u043a\u0443 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430 audio \u0438\u043d\u0430\u0447\u0435 \u0431\u044b\u043b\u043e \u0431\u044b \u043b\u0443\u0447\u0448\u0435 \u0441\u0438\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434 addEventListener \u0442.\u043a. \u043e\u043d \u0433\u0438\u0431\u0447\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e.\n            \/*\n            audio.addEventListener('timeupdate', () => {\n                fjp_\u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c_\u0430\u0443\u0434\u0438\u043e_\u043f\u043e_\u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044e_\u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e_\u0432\u0440\u0435\u043c\u0435\u043d\u0438(end, index);\n            });\n            *\/\n\n             \/\/\u0444\u0443\u043d\u043a\u0446\u0438\u044f fjp_\u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c_\u0430\u0443\u0434\u0438\u043e_\u043f\u043e_\u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044e_\u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e_\u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0440\u0435\u0435\u0440\u0430, \u0442.\u0435. \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u0441\u0435\u0436\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0438\u0442 \u043a\u043e\u043d\u0446\u0430 \u0438 \u0437\u043d\u0430\u0447\u0438\u0442 \u0438 \u043d\u0430\u0441 \u043d\u0435\u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0438 (\u0447\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u0438\u0437\u0431\u0435\u0433\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0445.)\n\t\t\t \/\/ \u044d\u0442\u043e \"audio.ontimeupdate = function() {\" \u043c\u0435\u0442\u043e\u0434 \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \"audio.addEventListener('timeupdate', () => {\" \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b  \n            audio.ontimeupdate = function() {\n                fjp_\u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c_\u0430\u0443\u0434\u0438\u043e_\u043f\u043e_\u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044e_\u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e_\u0432\u0440\u0435\u043c\u0435\u043d\u0438(end, index);\n\t\t\t\t\n            };\n            \/* \/\/\n            audio.ontimeupdate = function() {\n                fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e_\u043e_\u0442\u0435\u043a\u0443\u0449\u0435\u043c_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0438_\u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438_audio();\n                if (audio.currentTime >= end) {\n                    audio.pause(); \/\/ \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0442\u0435\u0443\u0449\u0435\u0433\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430.\n                    audio.ontimeupdate = null; \/\/\u042d\u0442\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442, \u043a\u043e\u0433\u0434\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u0442\u043e \u0435\u0441\u0442\u044c \u043a\u043e\u0433\u0434\u0430 \u0430\u0443\u0434\u0438\u043e \u0438\u043b\u0438 \u0432\u0438\u0434\u0435\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u043b\u0438 \u0435\u0433\u043e \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f. = null: \u041f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u0435 null \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u0441\u043e\u0431\u044b\u0442\u0438\u044f ontimeupdate \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0435 \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u044f\u0435\u0442\u0435 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u044f.\n                    console.log('\u0421\u0435\u0433\u043c\u0435\u043d\u0442 \u0430\u0443\u0434\u0438\u043e \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u043e \u043a\u043e\u043d\u0446\u0430', `\u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f: ${fjp_currentTime()}`);\n\n                    \/\/ \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u043a \u0430\u0443\u0434\u0438\u043e - \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442.\n                    let currentSegmentIndex = index;\n                    if ((autoPlayFlag.checked) && (currentSegmentIndex < segments.length)) {\n                        \/\/ \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0443, \u0435\u0441\u043b\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0444\u043b\u0430\u0433 \"\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b.\" \u0438 \u043c\u044b \u043d\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430.\n                        console.log (\"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442.\");\n                        currentSegmentIndex++;\n                        const nextSegment = segments[currentSegmentIndex];\n                        fjp_playAudioSegment(nextSegment[0], nextSegment[1], nextSegment[4], currentSegmentIndex);\n                   }\n                }\n            };\n            \/\/ *\/\n        }\n\n\t\tfunction fjp_playAudioSegment_fjp_audioDefineCurrentSegment (p_currentTime = audio.currentTime, f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment_2 = false, step=0) {\n\t\t\t\/* \n\t\t\t\u0432 \u044d\u0442\u043e\u0439 \u0424\u0443\u043d\u043a\u0446\u0438\u0438: \n\t\t\tp_currentTime = \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0442\u0435\u043a\u0443\u0449\u0435\u0435.\n\t\t\tf_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment = false, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043b\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442, \u043d\u043e \u043c\u043e\u0436\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c true \u0438 \u0442\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0438\u0433\u0440\u0430\u0435\u0442\u044c\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u0441\u043b\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u0438\u0433\u043c\u0435\u043d\u0442.\n\t\t\tStep - \u042d\u0442\u043e \u0448\u0430\u0433 \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0438\u0433\u0440\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0438\u043b\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u043f\u043e \u0447\u0438\u0441\u043b\u0443 \u0438\u0437 index-\u0430. !!! \u043d\u043e \u0432\u0430\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 index ! \n\n\t\t\t\u0424\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u0435\u043b\u0430\u0435\u0442\u044c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u044d\u0442\u043e\u043c\u0443 fjp_playAudioSegment(fjp_audioDefineCurrentSegment (2.000)); \/\/fjp_playAudioSegment(start, end, file, index);\n\t\t\t\u043d\u043e \u0442\u0430\u043a \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u0442\u043e\u043c\u0443\u0447\u0442\u043e \u0432\u043e\u0437\u0440\u0430\u0449\u0430\u0435\u0442\u044c\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442 \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u0430 \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f.\n\t\t\t *\/\n\t\t\t \n\t\t\t f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment = f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment_2; \/\/\u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u0433\u043b\u0430\u0431\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u0443\u044e, \u0442\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0441\u044e\u0434\u0430. \u041d\u043e \u043d\u0443\u0436\u043d\u0430 \u043b\u0438 \u043e\u043d\u0430? \u0420\u0430\u0437\u0432\u0435 \u0447\u0442\u043e \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.\n\n\/*\n\t\t\t\/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\n\t\t\tconst params = fjp_audioDefineCurrentSegment(p_currentTime);\n\t\t\tconsole.log(params);\n\t\t\tfjp_playAudioSegment(params.start, params.end, params.file, params.index); \/\/fjp_playAudioSegment(0, 3, \"Ausgehen_AnnenMayKantereit_2.mp3\", 0);\n\t\t\t\n*\/\n\n\t\t\t\/\/!!! \n\n\t\t\t\/\/\u0412\u044b\u0437\u043e\u0432 fjp_playAudioSegment \u0441 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u043e\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0438\u0437 \u0434\u0440\u0443\u0433\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.\n\t\t\tfjp_playAudioSegment(...fjp_audioDefineCurrentSegment(p_currentTime, step) );\n\t\t}\n\n\n        function fjp_\u0421\u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c_playback_\u043d\u0430_\u0437\u0430\u0434\u0430\u043d\u043e\u0435_\u0432\u0440\u0435\u043c\u044f(p_currentTime) {\n            \/\/!!! \u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043d\u044b\u0435, \u0447\u0442\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435\n            \/\/\u0435\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0435 \u0440\u0430\u0432\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u043e\u043c\u0443, \u0442\u043e\u0433\u0434\u0430 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f player -\u0430\n            \n            if ((p_currentTime >= 0) && (p_currentTime != audio.currentTime)) {\n                audio.currentTime = p_currentTime; \/\/ \u0415\u0441\u043b\u0438 \u043f\u043e\u043f\u0430\u043b\u0438 \u0441\u0443\u0434\u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u043b\u0435\u0435\u0440\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c.\n            }\n        }\n        \n\n        function fjp_audio_play() {\n            fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_index_\u0438_\u043c\u0435\u0442\u043a\u0438_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e_\u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430(...fjp_audioDefineCurrentSegment());\n\t\t\taudio.play();\n            \n            \/\/!!! \u0412\u0430\u0440\u0438\u0430\u043d \u043d\u0438\u0436\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043b\u0443\u0447\u0448\u0435, \u0447\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e audio.play();\n            \/\/ \u0442\u0443\u0442 \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0441\u044f \u043b\u0438 \u043f\u0440\u0435\u0435\u0440.\n            \/\/\u0415\u0441\u043b\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f, \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432 then()\n            \/\/ \u042d\u0442\u043e \"audio.play().then\" \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 audio, \u0442.\u0435 \u0432\u044b\u043f\u043e\u043b\u044f\u043d\u0435\u0442\u044c\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f play()\n            console.log(\"-\");\n            \n            \/*const f_\u0410\u0443\u0434\u0438\u043e_\u0441\u0435\u0439\u0447\u0430\u0441_\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c\u0441\u044f = audio.play().then(() => { \n                console.log(`Log: \u0410\u0443\u0434\u0438\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043d\u0430\u0447\u0430\u043b\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c\u0441\u044f. ${f_\u0410\u0443\u0434\u0438\u043e_\u0441\u0435\u0439\u0447\u0430\u0441_\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c\u0441\u044f} \u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f: ${fjp_currentTime()}`); \n                }).catch(error => { \n                    console.error('ERR: \u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0430\u0443\u0434\u0438\u043e:', error); \n            });*\/\n            \n            \/*\n            const f_\u0410\u0443\u0434\u0438\u043e_\u0441\u0435\u0439\u0447\u0430\u0441_\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c\u0441\u044f = audio.play().then(() => { \n                console.log('Log: \u0410\u0443\u0434\u0438\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043d\u0430\u0447\u0430\u043b\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c\u0441\u044f.', `\u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f: ${jp_currentTime()}`); \n                }).catch(error => { \n                    console.error('\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0430\u0443\u0434\u0438\u043e:', error); \n            });\n            *\/\n        }\n\n        function fjp_audio_play_Normal_launch () {\n            \/\/\u0417\u0430\u043f\u0443\u0441\u043a play \u0431\u0435\u0437 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043e\u0441\u0442\u043e\u043d\u043e\u0432\u043e\u043a.\n            f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment = false; \/\/ \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c \u043b\u0438 \u043c\u044b \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u0438\u043b\u0438 \u043d\u0435\u0442, \u0447\u0442\u043e\u0431\u044b \u0435\u043b\u0438 \u044d\u0442\u043e \u0441\u0438\u0433\u043c\u0435\u043d\u0442 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0444\u043b\u0430\u0433 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0442\u043e \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439. \n\n            fjp_audio_play();\n        }\n\n        \n        function fjp_AudioPause() {\n\t\t\t\n            \/\/\u041f\u0430\u0443\u0437\u0430 \u0434\u043b\u044f audio\n            audio.pause();\n            \n             \n            audio.ontimeupdate = null; \/\/\u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u044c\u0441\u044f \u043a\u043e\u0433\u0434\u0430 \u0432\u0440\u0435\u043c\u044f \u0432 audio \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u044c\u0441\u044f. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0435\u043c\u0443 \u0441\u043e\u0431\u0438\u0442\u0438\u044e audio \u0434\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442 \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430.\n            \n            \/\/!!! \u0442\u0443\u0442 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u043d\u043e\u0441\u0438\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0437\u043d\u0430\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f.\n            fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_index_\u0438_\u043c\u0435\u0442\u043a\u0438_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e_\u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430(...fjp_audioDefineCurrentSegment());\n\t\t\t\/\/fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e_\u043e_\u0442\u0435\u043a\u0443\u0449\u0435\u043c_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0438_\u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438_audio();\n        }\n\n\n        function fjp_changePlaybackRate(action) {\n            \/\/ action <- \"+\" \u0438\u043b\u0438 \"-\"\n            const minRate = 0.25; \/\/ \u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f\n            const maxRate = 4.0;  \/\/ \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f\n            const step = 0.25;\n            \/\/\"audio.playbackRate\" - \u0427\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \n            if (action === \"+\") {\n                audio.playbackRate = Math.min(audio.playbackRate + step, maxRate); \/\/\u0415\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \"+\", \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u043d\u043e \u043d\u0435 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 maxRate.\n            } else if (action === \"-\") {\n                audio.playbackRate = Math.max(audio.playbackRate - step, minRate); \/\/\u0415\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \"-\", \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442\u0441\u044f, \u043d\u043e \u043d\u0435 \u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043d\u0438\u0436\u0435 minRate.\n            } else {\n                console.error('\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \"+\" \u0438\u043b\u0438 \"-\". ');\n                return null;\n            }\n            console.log('\u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f:', audio.playbackRate);\n            fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0442\u0435\u043a\u0443\u0449\u0443\u044e_\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c_\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f()\n            return audio.playbackRate;\n        }\n\n\/*\n        \/\/ \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f.\n        function outputCurrentPlaybackSpeed() {\n            \/\/\u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u0441\u043a\u043e\u043f\u0440\u043e\u0441\u0442\u044c audio\n            \/\/\"audio.playbackRate\" - \u0427\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \n            fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0442\u0435\u043a\u0443\u0449\u0443\u044e_\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c_\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f()\n        }\n*\/\n\n\n        function fjp_\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u0421\u0438\u0433\u043c\u0435\u043d\u0442_\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 () {\n            \/\/\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u0421\u0438\u0433\u043c\u0435\u043d\u0442_\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439\n            f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment = false; \/\/ \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c \u043b\u0438 \u043c\u044b \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u0438\u043b\u0438 \u043d\u0435\u0442. \u042d\u0442\u043e\u0433\u043e f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c true \u0438  \u0447\u0442\u043e\u0431\u044b \u0435c\u043b\u0438 \u044d\u0442\u043e \u0441\u0438\u0433\u043c\u0435\u043d\u0442 \u0438 autoPlayFlag \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0432 true, \u0442\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442. \n            console.log(\"fjp_\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u0421\u0438\u0433\u043c\u0435\u043d\u0442_\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 = \");\n            fjp_playAudioSegment_fjp_audioDefineCurrentSegment(audio.currentTime, f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment, -1); \/\/\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u0438\u0433\u043c\u0435\u043d \u0437\u043d\u0430\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0435\u043c\u044f, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u043b\u0435\u0435\u0440\u0430. \n        }\n\n        function fjp_\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u0421\u0438\u0433\u043c\u0435\u043d\u0442_\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0422\u0435\u043a\u0443\u0449\u0438\u0439() {\n            \/\/\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u0421\u0438\u0433\u043c\u0435\u043d\u0442_\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0422\u0435\u043a\u0443\u0449\u0438\u0439\n            f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment = true; \/\/ \n            console.log(\"fjp_\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u0421\u0438\u0433\u043c\u0435\u043d\u0442_\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0422\u0435\u043a\u0443\u0449\u0438\u0439 = \");\n            fjp_playAudioSegment_fjp_audioDefineCurrentSegment(audio.currentTime, f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment, 0); \/\/\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u0438\u0433\u043c\u0435\u043d \u0437\u043d\u0430\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0435\u043c\u044f, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u043b\u0435\u0435\u0440\u0430. \n        }\n\n        function fjp_\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u0421\u0438\u0433\u043c\u0435\u043d\u0442_\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439() {\n            \/\/\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u0421\u0438\u0433\u043c\u0435\u043d\u0442_\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439\n            f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment = false; \/\/ \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c \u043b\u0438 \u043c\u044b \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u0438\u043b\u0438 \u043d\u0435\u0442. \u042d\u0442\u043e\u0433\u043e f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c true \u0438  \u0447\u0442\u043e\u0431\u044b \u0435c\u043b\u0438 \u044d\u0442\u043e \u0441\u0438\u0433\u043c\u0435\u043d\u0442 \u0438 autoPlayFlag \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0432 true, \u0442\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442.\n            console.log(\"fjp_\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u0421\u0438\u0433\u043c\u0435\u043d\u0442_\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 = \");\n            fjp_playAudioSegment_fjp_audioDefineCurrentSegment(audio.currentTime, f_\u043d\u0443\u0436\u043d\u043e_play_\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439_segment, 1); \/\/\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u0438\u0433\u043c\u0435\u043d \u0437\u043d\u0430\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0435\u043c\u044f, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u043b\u0435\u0435\u0440\u0430.\n        }\n\n\t\tfunction fjp_\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c_\u0432\u0440\u0435\u043c\u044f_\u043d\u0430\u0447\u0430\u043b\u0430_\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430() {\n\t\t\t\/\/console.log('fjp_\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c_\u0432\u0440\u0435\u043c\u044f_\u043d\u0430\u0447\u0430\u043b\u0430_\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430');\n\t\t\ttime_ = fjp_\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u043c_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0432_\u0444\u043e\u0440\u043c\u0430\u0442_hhmmss_Milliseconds(audio.currentTime);\n\t\t\tdetermineStartTimeButton.textContent = \"(q)\" + time_;\n\t\t\tconst idNumber = str_segmen_index;\n\t\t\tconst determineStartTimeButton_id = document.getElementById(\"id_text_subtitles_mn\" + idNumber);\n\t\t\tdetermineStartTimeButton_id.textContent = time_;\n\t\t}\n\n\t\tfunction fjp_\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c_\u0432\u0440\u0435\u043c\u044f_\u043a\u043e\u043d\u0446\u0430_\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430() {\n\t\t\t\/\/console.log('fjp_\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c_\u0432\u0440\u0435\u043c\u044f_\u043a\u043e\u043d\u0446\u0430_\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430');\n\t\t\ttime_ = fjp_\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u043c_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0432_\u0444\u043e\u0440\u043c\u0430\u0442_hhmmss_Milliseconds(audio.currentTime);\n\t\t\tdetermineEndTimeButton.textContent = \"(e)\" + time_;\n\t\t\tconst idNumber = str_segmen_index;\n\t\t\tconst determineEndTimeButton_id = document.getElementById(\"id_text_subtitles_mk\" + idNumber);\n\t\t\tdetermineEndTimeButton_id.textContent = time_;\n\t\t}\n\n\n\n\t\tfunction fjp_\u0437\u0430\u0434\u0430\u0442\u044c_\u0441\u0442\u0438\u043b\u044c_\u0434\u043b\u044f_\u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e\u0439_\u0441\u0442\u0440\u043e\u043a\u0438() {\n\t\t\tconst id_text_de_1 = document.getElementById(\"id_text_de\"+str_segmen_index_\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044b\u0439_\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0439);\n\t\t\t\/\/str_segmen_style_backgroundColor_\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044b\u0439_\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0439 =id_text_de.style.backgroundColor;\n\t\t\tid_text_de_1.style.backgroundColor = \"LemonChiffon\";\n\t\t\tif (str_segmen_index != str_segmen_index_\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044b\u0439_\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0439) {\n\t\t\t\tstr_segmen_index_\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044b\u0439_\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0439 = str_segmen_index;\n\t\t\t}\n\n\t\t\tconst id_text_de_2 = document.getElementById(\"id_text_de\"+str_segmen_index);\n\t\t\t\/\/str_segmen_style_backgroundColor_\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044b\u0439_\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0439 =id_text_de.style.backgroundColor;\n\t\t\tid_text_de_2.style.backgroundColor = \"yellow\";\n\t\t}\n\n\t\tfunction fjp_\u0441\u0435\u0433\u043c\u0435\u043d\u0442_\u0432\u044b\u0448\u0435() {\n\t\t\tif (str_segmen_index < index_max_For_song) {\n\t\t\t\tstr_segmen_index++\n\t\t\t}\n\t\t\tfjp_\u0437\u0430\u0434\u0430\u0442\u044c_\u0441\u0442\u0438\u043b\u044c_\u0434\u043b\u044f_\u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e\u0439_\u0441\u0442\u0440\u043e\u043a\u0438();\n\t\t}\n\n\t\tfunction fjp_\u0441\u0435\u0433\u043c\u0435\u043d\u0442_\u043d\u0438\u0436\u0435() {\n\t\t\tif (str_segmen_index > 0) {\n\t\t\t\tstr_segmen_index--\n\t\t\t}\n\t\t\tfjp_\u0437\u0430\u0434\u0430\u0442\u044c_\u0441\u0442\u0438\u043b\u044c_\u0434\u043b\u044f_\u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e\u0439_\u0441\u0442\u0440\u043e\u043a\u0438();\n\t\t}\n\n        function fjp_\u041e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c_\u043d\u0430\u0436\u0430\u0442\u0438\u0435_\u043a\u043b\u0430\u0432\u0438\u0448(event) {\n            \/\/ \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c_\u043a\u043e\u0434_\u043d\u0430\u0436\u0430\u0442\u043e\u0439_\u043a\u043b\u0430\u0432\u0438\u0448\u0438\n            if (event.key === 'w' || event.key === 'W'  || event.key === '\u0446'  || event.key === '\u0426') {\n                fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0436\u0430\u0442\u0443\u044e_\u043a\u043d\u043e\u043f\u043a\u0443('w');\n                \/\/const audioElement = document.getElementById('audio');\n                \/\/if (audioElement.paused) {\n                if (fjp_\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c_\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435_\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f_audio()) {\n                    \/\/audioElement.play();\n                    fjp_audio_play_Normal_launch();\n                } else {\n                    \/\/audioElement.pause();\n                    fjp_AudioPause();\n                }\n            } else if (event.key === '+' || event.key === '=') {\n                fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0436\u0430\u0442\u0443\u044e_\u043a\u043d\u043e\u043f\u043a\u0443('+');\n                fjp_changePlaybackRate(\"+\");\n            } else if (event.key === '-' || event.key === '_') {\n                fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0436\u0430\u0442\u0443\u044e_\u043a\u043d\u043e\u043f\u043a\u0443('-');\n                fjp_changePlaybackRate(\"-\");\n            } else if (event.key === 'a' || event.key === 'A'  || event.key === '\u0444'  || event.key === '\u0424') {\n                fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0436\u0430\u0442\u0443\u044e_\u043a\u043d\u043e\u043f\u043a\u0443('a');\n                fjp_\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u0421\u0438\u0433\u043c\u0435\u043d\u0442_\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439(); \/\/\u041f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0435\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442.\n            } else if (event.key === 's' || event.key === 'S'  || event.key === '\u044b'  || event.key === '\u042b') {\n                fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0436\u0430\u0442\u0443\u044e_\u043a\u043d\u043e\u043f\u043a\u0443('s');\n                fjp_\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u0421\u0438\u0433\u043c\u0435\u043d\u0442_\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0422\u0435\u043a\u0443\u0449\u0438\u0439();  \/\/\u041f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442. \u041f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u0441\u0438\u0433\u043c\u0435\u043d\u0442.\n            } else if (event.key === 'd' || event.key === 'd'  || event.key === '\u0432'  || event.key === '\u0412') {\n                fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0436\u0430\u0442\u0443\u044e_\u043a\u043d\u043e\u043f\u043a\u0443('d');\n                fjp_\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u0421\u0438\u0433\u043c\u0435\u043d\u0442_\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439(); \/\/\u041f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442.\n            } else if (event.key === 'q' || event.key === 'Q'  || event.key === '\u0439'  || event.key === '\u0419') {\n                fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0436\u0430\u0442\u0443\u044e_\u043a\u043d\u043e\u043f\u043a\u0443('q');\n                fjp_\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c_\u0432\u0440\u0435\u043c\u044f_\u043d\u0430\u0447\u0430\u043b\u0430_\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430(); \/\/\u041f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442.\n            } else if (event.key === 'e' || event.key === 'E'  || event.key === '\u0443'  || event.key === '\u0423') {\n                fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0436\u0430\u0442\u0443\u044e_\u043a\u043d\u043e\u043f\u043a\u0443('e');\n                fjp_\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c_\u0432\u0440\u0435\u043c\u044f_\u043a\u043e\u043d\u0446\u0430_\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430(); \/\/\u041f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442.\n            } else if (event.key === ',' || event.key === '<'  || event.key === '\u0431'  || event.key === '\u0411') {\n                fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0436\u0430\u0442\u0443\u044e_\u043a\u043d\u043e\u043f\u043a\u0443('<');\n                fjp_\u0441\u0435\u0433\u043c\u0435\u043d\u0442_\u043d\u0438\u0436\u0435(); \/\/\u041f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442.\n            } else if (event.key === '.' || event.key === '>'  || event.key === '\u044e'  || event.key === '\u042e') {\n                fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0436\u0430\u0442\u0443\u044e_\u043a\u043d\u043e\u043f\u043a\u0443('>');\n                fjp_\u0441\u0435\u0433\u043c\u0435\u043d\u0442_\u0432\u044b\u0448\u0435(); \/\/\u041f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442.\n            }\n        };\n\n\t\tfunction fjp_\u043f\u043e\u0434\u0441\u0432\u0435\u0442\u0438\u0442\u044c_\u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u044b\u0439_\u0441\u0435\u0433\u043c\u0435\u043d\u0442() {\n\t\t\t\/\/ !!! \u041c\u044b \u0442\u0443\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 index \u0438 \u043c\u043e\u0436\u043d\u043e \u0435\u0433\u043e \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u0443\u044e \u0438 \u043f\u043e\u0442\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435.\n\t\t\tconst idNumber = fjp_\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c_index_\u043f\u043e_Time(audio.currentTime);\n\t\t\tconst button_1 = document.getElementById(\"idButton_\" + idNumber);\n\t\t\tbutton_1.style.backgroundColor = \"yellow\";\n\t\t\tif (index_\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044b\u0439_\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0439 != idNumber) {\n\t\t\t\t\/\/\u0442\u0443\u0442 \u043c\u044b \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u0441\u0442\u0438\u043b\u044c \u0434\u043b\u044f \u043f\u0440\u043e\u0438\u0433\u0440\u0430\u043d\u043e\u0433\u043e \u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430.\n\t\t\t\t\/\/!!! \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0430\u043a\u0436\u0435 \u0441\u0442\u0438\u043b\u044c \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u0441\u0438\u0433\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0438\u0433\u0440\u0430\u043b \u0434\u043e \u043a\u043e\u043d\u0446\u0430, \u043d\u043e \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u043c \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u043c\u0435\u0441\u0442\u0435 - \u0415\u0421\u041b\u0418 \u041d\u0423\u0416\u041d\u041e.\n\t\t\t\tconst button_2 = document.getElementById(\"idButton_\" + index_\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044b\u0439_\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0439);\n\t\t\t\tbutton_2.style.backgroundColor = \"green\";\n\t\t\t}\n\t\t\tindex_\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044b\u0439_\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0439 = idNumber;\n\t\t}\n\n        function fjp_\u041f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438_\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c_\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f_\u043f\u043e_\u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443_\u0442\u0430\u0439\u043c\u0435\u0440\u0443() {\n            \/\/fjp_\u041f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438_\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c_\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f_\u043f\u043e_\u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443_\u0442\u0430\u0439\u043c\u0435\u0440\u0443\n            \/\/let p_currentTime =  audio.currentTime; \/\/ \u0412\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f.\n            fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0432\u0441\u0435_\u0447\u0442\u043e_\u043d\u0443\u0436\u043d\u043e_\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c(); \/\/ \u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0441\u0442\u0430\u0442\u0443\u0441.\n\n            const audioElement = document.getElementById('audio');\n            \/\/\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u043b\u0438 audio \n            if (fjp_\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c_\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435_\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f_audio()) {\n                \/\/ \u041a\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u0430\u0443\u0434\u0438\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f.\n                fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0432\u0441\u0435_\u0447\u0442\u043e_\u043d\u0443\u0436\u043d\u043e_\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c()\n            }\n\t\t\tfjp_\u043f\u043e\u0434\u0441\u0432\u0435\u0442\u0438\u0442\u044c_\u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u044b\u0439_\u0441\u0435\u0433\u043c\u0435\u043d\u0442();\n\t\t\t\n\t\t\t\n        }\n\n\n\n\/\/ *************************\n\n\n        \/\/\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0432\u0435\u0440\u043d\u043e \u043b\u0438 \u0432\u0440\u0435\u043c\u044f.\n        jp_\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c_\u0447\u0442\u043e_\u0432\u0440\u0435\u043c\u0435\u043d\u044b\u0435_\u043c\u0435\u0442\u043a\u0438_\u0432_\u043f\u043e\u0440\u044f\u0434\u043a\u0435(segments);\n\n        segments = jp_\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c_\u0432_\u043a\u043e\u043d\u0435\u0446_\u043c\u0430\u0441\u0441\u0438\u0432\u0430_NextPeriodOfTime(segments);\n\n        console.log(\"->\", segments); \/\/\u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430\n\n\n        \/\/ \u0417\u0430\u0434\u0430\u0435\u043c \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435.\n        fjp_audio_src_\u0437\u0430\u0434\u0430\u0442\u044c_\u0434\u043b\u044f_\u043f\u043b\u0435\u0435\u0440\u0430_\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435_file(segments[0][4]); \/\/ \u041f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430.\n        fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435_\u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e_\u0424\u0430\u0439\u043b\u0430(segments[0][4]); \/\/\u0412\u044b\u0432\u043e\u0434\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443.\n        \n        fjp1_\u0412\u044b\u0432\u043e\u0434\u0438\u043c_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0432\u0441\u0435_\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b_\u0442\u0435_\u0441\u0443\u0431\u0442\u0438\u0442\u0440\u044b(); \/\/ \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0438 \u0434\u043b\u044f \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u044b.\n\n\n        PlaybackSpeedFaster.addEventListener(\"click\", () => {\n            \/\/\u0423\u0441\u043a\u043e\u0440\u044f\u0435\u043c Audio\n            fjp_changePlaybackRate(\"+\");\n            \/\/outputCurrentPlaybackSpeed();\n        });\n\n        PlaybackSpeedSlower.addEventListener(\"click\", () => {\n            \/\/\u0417\u0430\u043c\u0435\u0434\u043b\u044f\u0435\u043c Audio\n            fjp_changePlaybackRate(\"-\");\n            \/\/outputCurrentPlaybackSpeed();\n        });\n\n        playButton.addEventListener(\"click\", fjp_audio_play_Normal_launch);  \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0434\u043b\u044f \u043a\u043d\u043e\u043f\u043a\u0438 \u043f\u0440\u043e\u0438\u0433\u0440\u0430\u0442\u044c\n\n        pauseButton.addEventListener(\"click\", fjp_AudioPause);  \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0434\u043b\u044f \u043a\u043d\u043e\u043f\u043a\u0438 \u043f\u0430\u0443\u0437\u0430\n\n        stopButton.addEventListener(\"click\", () => {\n        \/\/ Stop audio - \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0434\u043b\u044f \u043a\u043d\u043e\u043f\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438\n            fjp_\u0421\u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c_playback_\u043d\u0430_\u0437\u0430\u0434\u0430\u043d\u043e\u0435_\u0432\u0440\u0435\u043c\u044f(0); \/\/ \u0421\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u043c \u0432\u0440\u0435\u043c\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e\n            \/\/ !!! \u0422\u0443\u0442 \u043d\u0443\u0436\u043d\u043e-\u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0441\u0440\u0430\u0437\u0443 \"\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442: \u2116 1\"\n            fjp_AudioPause();\n        });\n\n        previousButton.addEventListener(\"click\", fjp_\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u0421\u0438\u0433\u043c\u0435\u043d\u0442_\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439); \/\/\u041f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0435\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442.\n\n        repeatButton.addEventListener(\"click\", fjp_\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u0421\u0438\u0433\u043c\u0435\u043d\u0442_\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0422\u0435\u043a\u0443\u0449\u0438\u0439);  \/\/\u041f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442. \u041f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u0441\u0438\u0433\u043c\u0435\u043d\u0442.\n\n        continueButton.addEventListener(\"click\", fjp_\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u043c\u0421\u0438\u0433\u043c\u0435\u043d\u0442_\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439); \/\/\u041f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u0433\u043c\u0435\u043d\u0442.\n\n        determineStartTimeButton.addEventListener(\"click\", fjp_\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c_\u0432\u0440\u0435\u043c\u044f_\u043d\u0430\u0447\u0430\u043b\u0430_\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430); \/\/\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0432\u0440\u0435\u043c\u044b \u041d\u0410\u0427\u0410\u041b\u0410 \u0434\u043b\u044f \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u0438 \u043f\u0438\u0448\u0435\u043c \u0435\u0433\u043e \u0432 \u0432\u044b\u0431\u0440\u0430\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443.\n\n        determineEndTimeButton.addEventListener(\"click\", fjp_\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c_\u0432\u0440\u0435\u043c\u044f_\u043a\u043e\u043d\u0446\u0430_\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430); \/\/\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0432\u0440\u0435\u043c\u044b \u041a\u041e\u041d\u0426\u0410 \u0434\u043b\u044f \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u0438 \u043f\u0438\u0448\u0435\u043c \u0435\u0433\u043e \u0432 \u0432\u044b\u0431\u0440\u0430\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443.\n\n        segmentAboveButton.addEventListener(\"click\", fjp_\u0441\u0435\u0433\u043c\u0435\u043d\u0442_\u0432\u044b\u0448\u0435); \/\/\u0414\u0432\u0438\u0433\u0430\u0435\u043c\u0441\u044f \u0432\u0432\u0435\u0440\u0445 \u0438 \u0432\u043d\u0438\u0437 \u043f\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u0447\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u0443\u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0440\u0435\u043c.\n\n        segmentBelowButton.addEventListener(\"click\", fjp_\u0441\u0435\u0433\u043c\u0435\u043d\u0442_\u043d\u0438\u0436\u0435); \/\/\u0414\u0432\u0438\u0433\u0430\u0435\u043c\u0441\u044f \u0432\u0432\u0435\u0440\u0445 \u0438 \u0432\u043d\u0438\u0437 \u043f\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u0447\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u0443\u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0440\u0435\u043c.\n\n\n        \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u044f keydown \u043a \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0443 \n        document.addEventListener('keydown', fjp_\u041e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c_\u043d\u0430\u0436\u0430\u0442\u0438\u0435_\u043a\u043b\u0430\u0432\u0438\u0448);\n\n\/*\n        \/\/\u0415\u0441\u043b\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f, \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432 then()\n        const ch = audio.play().then(() => { \n            console.log('\u0410\u0443\u0434\u0438\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043d\u0430\u0447\u0430\u043b\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c\u0441\u044f'); \n            }).catch(error => { \n                console.error('\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0430\u0443\u0434\u0438\u043e:', error); \n        });\n*\/\n\n\t\tfjp_\u0437\u0430\u0434\u0430\u0442\u044c_\u0441\u0442\u0438\u043b\u044c_\u0434\u043b\u044f_\u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e\u0439_\u0441\u0442\u0440\u043e\u043a\u0438();\n\n        \/\/ \u043f\u043e \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u044e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 - \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \"fjp_\u041f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438_\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c_\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f_\u043f\u043e_\u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443_\u0442\u0430\u0439\u043c\u0435\u0440\u0443\".\n        setInterval(fjp_\u041f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438_\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c_\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f_\u043f\u043e_\u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443_\u0442\u0430\u0439\u043c\u0435\u0440\u0443, 300);\n\n\n        \/\/fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0432\u0441\u0435_\u0447\u0442\u043e_\u043d\u0443\u0436\u043d\u043e_\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c();\n\n        let  test_Time = 3.000;\n        \/\/console.log(fjp_audioDefineCurrentSegment (test_Time));\n        \/\/fjp_playAudioSegment_fjp_audioDefineCurrentSegment(test_Time, true); \/\/\u0446\u0435\u043b\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 true \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u0431\u044b\u043b play \u043d\u0435 \u0438\u0433\u0440\u0430\u043b \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u0434\u043b\u0438\u043d\u0443 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430.\n\n        fjp_\u0412\u044b\u0432\u0435\u0441\u0442\u0438_\u043d\u0430_\u044d\u043a\u0440\u0430\u043d_\u0432\u0441\u0435_\u0447\u0442\u043e_\u043d\u0443\u0436\u043d\u043e_\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c();\n\n    <\/script>\n<\/body>\n","protected":false},"excerpt":{"rendered":"<p>Audio Control with Dynamic Buttons \u0412\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f &#8212; \u0442\u0435\u043a\u0441\u0442 \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b &#8212; \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 audio \u0424\u0430\u0439\u043b\u0430. &#8212; \u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f: 0 \u0441\u0435\u043a. \u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c: 0 \u0441\u0435\u043a. &#8212; \u2116 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430: &#8212; \u041f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a \u0434\u043b\u044f \u0441\u0438\u0433\u043c\u0435\u043d\u0442\u0430: &#8212; \u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c: \u27a1(w) \u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c \u23f8(w) \u041f\u0430\u0443\u0437\u0430 \u23f9() \u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u23eb(+) \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u23ec(-) \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u23eb(a) \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \ud83d\udd01(s) \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u23ec(d) \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 (q)&hellip;&nbsp;<a href=\"https:\/\/1.cbm.ua\/?p=6785\" rel=\"bookmark\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 &raquo;<span class=\"screen-reader-text\">Test play<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[6],"tags":[],"class_list":["post-6785","post","type-post","status-publish","format-standard","hentry","category-js"],"_links":{"self":[{"href":"https:\/\/1.cbm.ua\/index.php?rest_route=\/wp\/v2\/posts\/6785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/1.cbm.ua\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/1.cbm.ua\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/1.cbm.ua\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/1.cbm.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6785"}],"version-history":[{"count":1,"href":"https:\/\/1.cbm.ua\/index.php?rest_route=\/wp\/v2\/posts\/6785\/revisions"}],"predecessor-version":[{"id":6786,"href":"https:\/\/1.cbm.ua\/index.php?rest_route=\/wp\/v2\/posts\/6785\/revisions\/6786"}],"wp:attachment":[{"href":"https:\/\/1.cbm.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6785"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/1.cbm.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6785"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/1.cbm.ua\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}