webtalekit-alpha 0.2.13 → 0.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +145 -70
- package/package.json +10 -2
- package/parser/checker.js +184 -0
- package/parser/checker.test.ts +491 -0
- package/parser/cli.js +34 -2
- package/parser/parser.js +25 -18
- package/src/core/defaultUIHandler.js +309 -0
- package/src/core/defaultUIHandler.js.map +1 -0
- package/{dist/src → src}/core/drawer.js +65 -40
- package/src/core/drawer.js.map +1 -0
- package/{dist/src → src}/core/index.js +188 -257
- package/{dist/src → src}/core/scenarioManager.js +29 -7
- package/src/core/scenarioManager.js.map +1 -0
- package/src/utils/eventBus.js +88 -0
- package/src/utils/eventBus.js.map +1 -0
- package/{dist/src → src}/utils/logger.js +45 -1
- package/src/utils/logger.js.map +1 -0
- package/{dist/src → src}/utils/store.js +5 -0
- package/src/utils/store.js.map +1 -0
- package/.claude/settings.local.json +0 -12
- package/.clinerules +0 -65
- package/.history/README_20240812174230.md +0 -193
- package/.history/README_20240812175424.md +0 -185
- package/.history/README_20240812191012.md +0 -185
- package/.history/README_20240812191155.md +0 -185
- package/.history/README_20240812191211.md +0 -185
- package/.history/README_20240812192035.md +0 -185
- package/.history/dist/src/core/index_20240815021552.js +0 -474
- package/.history/dist/src/core/index_20240815022042.js +0 -476
- package/.history/dist/src/core/index_20240815022206.js +0 -476
- package/.history/dist/src/core/index_20240815023104.js +0 -478
- package/.history/dist/src/core/index_20240817022019.js +0 -494
- package/.history/dist/src/core/index_20240818013827.js +0 -493
- package/.history/dist/src/core/index_20240820001418.js +0 -502
- package/.history/package_20240812174230.json +0 -45
- package/.history/package_20240825011731.json +0 -45
- package/.history/package_20240825011739.json +0 -44
- package/.history/parser/parser_20240812174230.js +0 -50
- package/.history/parser/parser_20240825012739.js +0 -47
- package/.history/parser/parser_20240825012835.js +0 -52
- package/.history/src/core/drawer_20240813091343.ts +0 -262
- package/.history/src/core/drawer_20240815232345.ts +0 -262
- package/.history/src/core/drawer_20240815232350.ts +0 -262
- package/.history/src/core/drawer_20240816025257.ts +0 -357
- package/.history/src/core/drawer_20240816025358.ts +0 -357
- package/.history/src/core/drawer_20240816030148.ts +0 -365
- package/.history/src/core/drawer_20240816231033.ts +0 -294
- package/.history/src/core/drawer_20240816231107.ts +0 -262
- package/.history/src/core/drawer_20240816231234.ts +0 -268
- package/.history/src/core/drawer_20240817013836.ts +0 -290
- package/.history/src/core/drawer_20240817015150.ts +0 -289
- package/.history/src/core/drawer_20240817015353.ts +0 -290
- package/.history/src/core/drawer_20240817021254.ts +0 -291
- package/.history/src/core/drawer_20240817023440.ts +0 -295
- package/.history/src/core/drawer_20240817023445.ts +0 -295
- package/.history/src/core/drawer_20240818015327.ts +0 -295
- package/.history/src/core/drawer_20240819231006.ts +0 -318
- package/.history/src/core/drawer_20240820002829.ts +0 -317
- package/.history/src/core/drawer_20240820003141.ts +0 -295
- package/.history/src/core/drawer_20240824010043.ts +0 -295
- package/.history/src/core/drawer_20240825013311.ts +0 -293
- package/.history/src/core/drawer_20240902235257.ts +0 -295
- package/.history/src/core/drawer_20240904002038.ts +0 -262
- package/.history/src/core/drawer_20240904004020.ts +0 -262
- package/.history/src/core/drawer_20240904004238.ts +0 -262
- package/.history/src/core/drawer_20240904005648.ts +0 -262
- package/.history/src/core/drawer_20240904005808.ts +0 -262
- package/.history/src/core/drawer_20240904010523.ts +0 -262
- package/.history/src/core/drawer_20240904011611.ts +0 -262
- package/.history/src/core/drawer_20240904011740.ts +0 -262
- package/.history/src/core/index_20240812190102.js +0 -443
- package/.history/src/core/index_20240812190105.js +0 -443
- package/.history/src/core/index_20240812205421.js +0 -452
- package/.history/src/core/index_20240812213441.js +0 -452
- package/.history/src/core/index_20240812214203.js +0 -453
- package/.history/src/core/index_20240813090823.js +0 -453
- package/.history/src/core/index_20240813230449.js +0 -452
- package/.history/src/core/index_20240813230539.js +0 -452
- package/.history/src/core/index_20240813231447.js +0 -453
- package/.history/src/core/index_20240813231449.js +0 -453
- package/.history/src/core/index_20240813231511.js +0 -453
- package/.history/src/core/index_20240813231531.js +0 -453
- package/.history/src/core/index_20240813231913.js +0 -453
- package/.history/src/core/index_20240813232356.js +0 -453
- package/.history/src/core/index_20240813232640.js +0 -453
- package/.history/src/core/index_20240813232900.js +0 -453
- package/.history/src/core/index_20240814221127.js +0 -454
- package/.history/src/core/index_20240814221322.js +0 -454
- package/.history/src/core/index_20240814221526.js +0 -454
- package/.history/src/core/index_20240814222048.js +0 -454
- package/.history/src/core/index_20240814222918.js +0 -459
- package/.history/src/core/index_20240814223136.js +0 -459
- package/.history/src/core/index_20240814223501.js +0 -464
- package/.history/src/core/index_20240814224347.js +0 -468
- package/.history/src/core/index_20240815013712.js +0 -474
- package/.history/src/core/index_20240815021534.js +0 -474
- package/.history/src/core/index_20240815023143.js +0 -477
- package/.history/src/core/index_20240815023207.js +0 -479
- package/.history/src/core/index_20240815023344.js +0 -481
- package/.history/src/core/index_20240815035600.js +0 -479
- package/.history/src/core/index_20240815041549.js +0 -480
- package/.history/src/core/index_20240815185515.js +0 -481
- package/.history/src/core/index_20240815192158.js +0 -481
- package/.history/src/core/index_20240815222912.js +0 -482
- package/.history/src/core/index_20240815224052.js +0 -483
- package/.history/src/core/index_20240815224843.js +0 -484
- package/.history/src/core/index_20240815224850.js +0 -483
- package/.history/src/core/index_20240815231706.js +0 -479
- package/.history/src/core/index_20240816025748.js +0 -483
- package/.history/src/core/index_20240816030102.js +0 -484
- package/.history/src/core/index_20240817013329.js +0 -485
- package/.history/src/core/index_20240817013526.js +0 -485
- package/.history/src/core/index_20240817013819.js +0 -488
- package/.history/src/core/index_20240817013829.js +0 -488
- package/.history/src/core/index_20240817014921.js +0 -494
- package/.history/src/core/index_20240817022057.js +0 -494
- package/.history/src/core/index_20240817023316.js +0 -493
- package/.history/src/core/index_20240818005637.js +0 -493
- package/.history/src/core/index_20240818005721.js +0 -493
- package/.history/src/core/index_20240818011804.js +0 -493
- package/.history/src/core/index_20240818013835.js +0 -493
- package/.history/src/core/index_20240818014310.js +0 -493
- package/.history/src/core/index_20240818014323.js +0 -493
- package/.history/src/core/index_20240818014333.js +0 -493
- package/.history/src/core/index_20240818020725.js +0 -496
- package/.history/src/core/index_20240819195504.js +0 -497
- package/.history/src/core/index_20240819202012.js +0 -495
- package/.history/src/core/index_20240819231228.js +0 -501
- package/.history/src/core/index_20240819232555.js +0 -502
- package/.history/src/core/index_20240819233404.js +0 -502
- package/.history/src/core/index_20240820003114.js +0 -495
- package/.history/src/core/index_20240820003120.js +0 -495
- package/.history/src/core/index_20240820003331.js +0 -495
- package/.history/src/core/index_20240820004126.js +0 -498
- package/.history/src/core/index_20240820004357.js +0 -497
- package/.history/src/core/index_20240820005103.js +0 -498
- package/.history/src/core/index_20240820005110.js +0 -499
- package/.history/src/core/index_20240820005206.js +0 -497
- package/.history/src/core/index_20240820005352.js +0 -497
- package/.history/src/core/index_20240823224904.ts +0 -505
- package/.history/src/core/index_20240823224905.js +0 -505
- package/.history/src/core/index_20240823231631.ts +0 -530
- package/.history/src/core/index_20240823231735.ts +0 -530
- package/.history/src/core/index_20240823232123.ts +0 -539
- package/.history/src/core/index_20240823232329.ts +0 -539
- package/.history/src/core/index_20240823233058.ts +0 -539
- package/.history/src/core/index_20240823234946.ts +0 -539
- package/.history/src/core/index_20240824005956.ts +0 -534
- package/.history/src/core/index_20240824010113.ts +0 -534
- package/.history/src/core/index_20240824010124.ts +0 -534
- package/.history/src/core/index_20240824010212.ts +0 -534
- package/.history/src/core/index_20240824010218.ts +0 -534
- package/.history/src/core/index_20240824010407.ts +0 -534
- package/.history/src/core/index_20240824010611.ts +0 -534
- package/.history/src/core/index_20240824010623.ts +0 -534
- package/.history/src/core/index_20240824010652.ts +0 -534
- package/.history/src/core/index_20240824011007.ts +0 -534
- package/.history/src/core/index_20240824210450.ts +0 -534
- package/.history/src/core/index_20240824210703.ts +0 -534
- package/.history/src/core/index_20240824210708.ts +0 -534
- package/.history/src/core/index_20240824211001.ts +0 -537
- package/.history/src/core/index_20240824211258.ts +0 -537
- package/.history/src/core/index_20240824211654.ts +0 -537
- package/.history/src/core/index_20240824211723.ts +0 -537
- package/.history/src/core/index_20240824211808.ts +0 -538
- package/.history/src/core/index_20240824214041.js +0 -538
- package/.history/src/core/index_20240824215312.ts +0 -538
- package/.history/src/core/index_20240824215341.ts +0 -538
- package/.history/src/core/index_20240824220703.ts +0 -538
- package/.history/src/core/index_20240824220709.ts +0 -538
- package/.history/src/core/index_20240825012244.ts +0 -536
- package/.history/src/core/index_20240825012435.ts +0 -539
- package/.history/src/core/index_20240825012440.ts +0 -539
- package/.history/src/core/index_20240826005054.ts +0 -539
- package/.history/src/core/index_20240826005321.ts +0 -540
- package/.history/src/core/index_20240826005410.ts +0 -539
- package/.history/src/core/index_20240826005418.ts +0 -539
- package/.history/src/core/index_20240830231825.ts +0 -539
- package/.history/src/core/index_20240831022416.ts +0 -539
- package/.history/src/core/index_20240901222314.js +0 -459
- package/.history/src/core/index_20240901222951.js +0 -459
- package/.history/src/core/index_20240901223824.js +0 -471
- package/.history/src/core/index_20240901223833.js +0 -468
- package/.history/src/core/index_20240902223954.js +0 -447
- package/.history/src/core/index_20240902224000.js +0 -446
- package/.history/src/core/index_20240902230345.js +0 -448
- package/.history/src/core/index_20240902231130.js +0 -449
- package/.history/src/core/index_20240902231559.js +0 -449
- package/.history/src/core/index_20240902232135.js +0 -449
- package/.history/src/core/index_20240902232809.js +0 -452
- package/.history/src/core/index_20240902232815.js +0 -452
- package/.history/src/core/index_20240903000104.js +0 -467
- package/.history/src/core/index_20240904001731.js +0 -444
- package/.history/src/core/index_20240904002038.ts +0 -539
- package/.history/src/core/index_20240904011848.js +0 -444
- package/.history/src/core/index_20240904012138.js +0 -444
- package/.history/src/core/index_20240904012743.js +0 -444
- package/.history/src/core/index_20240904013051.js +0 -444
- package/.history/src/core/resourceManager_20240403231531.ts +0 -16
- package/.history/src/core/resourceManager_20240823232627.ts +0 -17
- package/.history/src/core/resourceManager_20240824214014.js +0 -16
- package/.history/src/core/resourceManager_20240824214620.js +0 -17
- package/.history/src/core/scenarioManager_20240812203410.ts +0 -86
- package/.history/src/core/scenarioManager_20240812203839.ts +0 -94
- package/.history/src/core/scenarioManager_20240812213437.ts +0 -85
- package/.history/src/core/scenarioManager_20240813225852.ts +0 -85
- package/.history/src/core/scenarioManager_20240823235010.ts +0 -85
- package/.history/src/core/scenarioManager_20240904002038.ts +0 -94
- package/.history/src/core/scenarioManager_20240904012411.ts +0 -94
- package/.history/src/core/scenarioManager_20240904012519.ts +0 -94
- package/.history/src/index_20240403231531.js +0 -6
- package/.history/src/index_20240429233436.js +0 -8
- package/.history/src/index_20240429233926.js +0 -8
- package/.history/src/index_20240429234401.js +0 -7
- package/.history/src/index_20240429234404.js +0 -6
- package/.history/src/resource/soundObject_20240419004314.ts +0 -71
- package/.history/src/resource/soundObject_20240815034420.ts +0 -66
- package/.history/src/resource/soundObject_20240815034836.ts +0 -79
- package/.history/src/resource/soundObject_20240815034919.ts +0 -87
- package/.history/src/resource/soundObject_20240815040724.ts +0 -81
- package/.history/src/resource/soundObject_20240815041022.ts +0 -87
- package/.history/src/resource/soundObject_20240815042103.ts +0 -87
- package/.history/src/resource/soundObject_20240823235929.ts +0 -91
- package/.history/src/resource/soundObject_20240824213129.ts +0 -99
- package/.history/src/resource/soundObject_20240824213611.ts +0 -101
- package/.history/src/resource/soundObject_20240824215734.ts +0 -101
- package/.history/src/resource/soundObject_20240825004926.ts +0 -101
- package/.history/src/resource/soundObject_20240825004947.ts +0 -101
- package/.history/src/utils/logger_20240812174230.ts +0 -13
- package/.history/src/utils/logger_20240823232736.ts +0 -14
- package/.history/src/utils/logger_20240824214930.js +0 -14
- package/.history/src/utils/store_20240812174230.ts +0 -17
- package/.history/src/utils/store_20240823232948.ts +0 -29
- package/.history/src/utils/store_20240824214020.js +0 -17
- package/.history/src/utils/store_20240824214955.js +0 -29
- package/.history/src/utils/waitUtil_20240812174230.ts +0 -4
- package/.history/src/utils/waitUtil_20240823232739.ts +0 -4
- package/.history/src/utils/waitUtil_20240824214024.js +0 -4
- package/.history/src/utils/waitUtil_20240824215009.js +0 -4
- package/.history/test/js/title_20240428215305.js +0 -254
- package/.history/test/js/title_20240429221911.js +0 -227
- package/.history/test/js/title_20240429222806.js +0 -243
- package/.history/test/js/title_20240429222854.js +0 -263
- package/.history/test/js/title_20240429222906.js +0 -263
- package/.history/test/js/title_20240429235639.js +0 -263
- package/.history/test/js/title_20240429235840.js +0 -263
- package/.history/test/js/title_20240430014721.js +0 -262
- package/.history/test/js/title_20240430014759.js +0 -254
- package/.history/test/js/title_20240430134612.js +0 -285
- package/.history/test/js/title_20240430141051.js +0 -285
- package/.history/test/js/title_20240430173745.js +0 -245
- package/.history/tsconfig_20240812174230.json +0 -22
- package/.history/tsconfig_20240824010157.json +0 -19
- package/.history/tsconfig_20240824220700.json +0 -20
- package/.history/tsconfig_20240825011301.json +0 -20
- package/.history/webpack.config_20240423002825.js +0 -37
- package/.history/webpack.config_20240430001157.js +0 -38
- package/.history/webpack.config_20240430001309.js +0 -37
- package/.history/webpack.config_20240430002112.js +0 -37
- package/CLAUDE.md +0 -96
- package/LICENSE +0 -21
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/core/drawer.ts.html +0 -1264
- package/coverage/lcov-report/core/index.html +0 -146
- package/coverage/lcov-report/core/resourceManager.ts.html +0 -136
- package/coverage/lcov-report/core/scenarioManager.ts.html +0 -373
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -146
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/resource/ImageObject.ts.html +0 -433
- package/coverage/lcov-report/resource/index.html +0 -131
- package/coverage/lcov-report/resource/soundObject.ts.html +0 -346
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov-report/utils/TextMeasurer.ts.html +0 -520
- package/coverage/lcov-report/utils/index.html +0 -161
- package/coverage/lcov-report/utils/logger.ts.html +0 -142
- package/coverage/lcov-report/utils/store.ts.html +0 -151
- package/coverage/lcov-report/utils/waitUtil.ts.html +0 -97
- package/coverage/lcov.info +0 -882
- package/dist/README.md +0 -294
- package/dist/engineConfig.json +0 -10
- package/dist/package.json +0 -51
- package/dist/parser/cli.js +0 -61
- package/dist/parser/parser.js +0 -53
- package/dist/src/core/drawer.js.map +0 -1
- package/dist/src/core/scenarioManager.js.map +0 -1
- package/dist/src/utils/logger.js.map +0 -1
- package/dist/src/utils/store.js.map +0 -1
- package/dist/webtalekit-alpha-0.2.13.tgz +0 -0
- package/docs/event-system-specification.md +0 -493
- package/docs/glossary.html +0 -833
- package/docs/index.html +0 -296
- package/docs/tag-reference.html +0 -1317
- package/docs/ui-template-guide.html +0 -1068
- package/example/README.md +0 -29
- package/example/engineConfig.json +0 -10
- package/example/package-lock.json +0 -5145
- package/example/package.json +0 -26
- package/example/src/index.js +0 -13
- package/example/src/resource/background/beach.jpg +0 -0
- package/example/src/resource/background/city.jpg +0 -0
- package/example/src/resource/background/crossroad.jpg +0 -0
- package/example/src/resource/background/forest.jpg +0 -0
- package/example/src/resource/background/laboratory.jpg +0 -0
- package/example/src/resource/background/library.jpg +0 -0
- package/example/src/resource/background/living_room.jpg +0 -0
- package/example/src/resource/background/music_room.jpg +0 -0
- package/example/src/resource/background/stage.jpg +0 -0
- package/example/src/resource/background/sunset.jpg +0 -0
- package/example/src/resource/background/title_bg.png +0 -0
- package/example/src/resource/bgm/calm_music.wav +0 -0
- package/example/src/resource/bgm/doorbell.mp3 +0 -0
- package/example/src/resource/bgm/nc366476_Virtual_Voyage.mp3 +0 -0
- package/example/src/resource/bgm/title_theme.mp3 +0 -0
- package/example/src/resource/chara/dancer.png +0 -0
- package/example/src/resource/chara/guest.png +0 -0
- package/example/src/resource/chara/guide.png +0 -0
- package/example/src/resource/chara/scientist.png +0 -0
- package/example/src/resource/config.js +0 -0
- package/example/src/resource/se/doorbell.mp3 +0 -0
- package/example/src/resource/system/systemPicture/01_message/message.png +0 -0
- package/example/src/resource/system/systemPicture/02_button/button.png +0 -0
- package/example/src/resource/system/systemPicture/02_button/button2.png +0 -0
- package/example/src/resource/system/systemPicture/02_button/button3.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/auto.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/auto2.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/close.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/close2.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/config.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/config2.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/load.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/load2.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/log.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/log2.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/menu.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/menu2.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/qload.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/qload2.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/qsave.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/qsave2.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/save.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/save2.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/screen.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/screen2.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/skip.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/skip2.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/title.png +0 -0
- package/example/src/resource/system/systemPicture/03_system_button/title2.png +0 -0
- package/example/src/resource/system/systemPicture//345/210/251/347/224/250/350/246/217/347/264/204.txt +0 -0
- package/example/src/resource/system/wait.gif +0 -0
- package/example/src/scene/animation.scene +0 -28
- package/example/src/scene/background.scene +0 -29
- package/example/src/scene/character.scene +0 -26
- package/example/src/scene/choice.scene +0 -97
- package/example/src/scene/dialog.scene +0 -105
- package/example/src/scene/effects.scene +0 -38
- package/example/src/scene/en/animation.scene +0 -28
- package/example/src/scene/en/background.scene +0 -26
- package/example/src/scene/en/character.scene +0 -26
- package/example/src/scene/en/choice.scene +0 -32
- package/example/src/scene/en/effects.scene +0 -37
- package/example/src/scene/en/sound.scene +0 -26
- package/example/src/scene/en/text.scene +0 -26
- package/example/src/scene/en/title.scene +0 -39
- package/example/src/scene/if_test.scene +0 -37
- package/example/src/scene/resource-error-test.scene +0 -15
- package/example/src/scene/save-load-test.scene +0 -48
- package/example/src/scene/sound.scene +0 -26
- package/example/src/scene/test_error.scene +0 -21
- package/example/src/scene/text.scene +0 -34
- package/example/src/scene/title.scene +0 -51
- package/example/src/screen/incoming.html +0 -474
- package/example/src/screen/title.html +0 -135
- package/example/src/template.html +0 -16
- package/example/test-results/.last-run.json +0 -4
- package/example/webpack.config.js +0 -69
- package/image.png +0 -0
- package/playwright-report/index.html +0 -71
- package/s-plan1-5Light-s-1.jpg +0 -0
- package/test-results/.last-run.json +0 -6
- package/tests/e2e/if-global-attribute.spec.js +0 -90
- package/tests/e2e/resource-error-handling.spec.js +0 -58
- package/tests/e2e/screenshots/before-error-check.png +0 -0
- package/tests/e2e/screenshots/choices.png +0 -0
- package/tests/e2e/screenshots/message-window-click-wait.png +0 -0
- /package/{dist/src → src}/core/resourceManager.js +0 -0
- /package/{dist/src → src}/core/resourceManager.js.map +0 -0
- /package/{dist/src → src}/resource/ImageObject.js +0 -0
- /package/{dist/src → src}/resource/ImageObject.js.map +0 -0
- /package/{dist/src → src}/resource/soundObject.js +0 -0
- /package/{dist/src → src}/resource/soundObject.js.map +0 -0
- /package/{dist/src → src}/utils/fallbackTemplate.js +0 -0
- /package/{dist/src → src}/utils/fallbackTemplate.js.map +0 -0
- /package/{dist/src → src}/utils/waitUtil.js +0 -0
- /package/{dist/src → src}/utils/waitUtil.js.map +0 -0
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
export class SoundObject {
|
|
2
|
-
// 表示済みの画像を管理するクラス
|
|
3
|
-
private audio: any = null
|
|
4
|
-
private ctx: AudioContext = new AudioContext()
|
|
5
|
-
public source: AudioBufferSourceNode = this.ctx.createBufferSource()
|
|
6
|
-
private isPlaying: boolean = false
|
|
7
|
-
|
|
8
|
-
constructor() {
|
|
9
|
-
this.ctx = new AudioContext()
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
getAudio() {
|
|
13
|
-
return this.audio
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
async setAudio(track: ArrayBuffer) {
|
|
17
|
-
// 画像の読み込みと表示処理
|
|
18
|
-
this.audio = await this.ctx.decodeAudioData(track)
|
|
19
|
-
const source = this.ctx.createBufferSource()
|
|
20
|
-
source.buffer = this.audio
|
|
21
|
-
source.connect(this.ctx.destination)
|
|
22
|
-
return this
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
getContext() {
|
|
26
|
-
return this.ctx
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
setContext(context: AudioContext) {
|
|
30
|
-
this.ctx = context
|
|
31
|
-
return this
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
getFileInfo() {
|
|
35
|
-
// return filename, fileSize, playTime
|
|
36
|
-
return
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
async setAudioAsync(src: string): Promise<SoundObject> {
|
|
40
|
-
if (!src || src.length == 0) {
|
|
41
|
-
return this
|
|
42
|
-
}
|
|
43
|
-
const arrayBuffer = await (await fetch(src)).arrayBuffer()
|
|
44
|
-
this.audio = await this.ctx.decodeAudioData(arrayBuffer)
|
|
45
|
-
return this
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// music control
|
|
49
|
-
play(loop: boolean): void {
|
|
50
|
-
this.source = this.ctx.createBufferSource()
|
|
51
|
-
this.source.buffer = this.audio
|
|
52
|
-
this.source.connect(this.ctx.destination)
|
|
53
|
-
this.source.loop = loop;
|
|
54
|
-
this.source.start(0)
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
stop(): void {
|
|
58
|
-
this.source.stop()
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
get playing(): boolean {
|
|
62
|
-
return this.isPlaying
|
|
63
|
-
}
|
|
64
|
-
// other effect
|
|
65
|
-
// volume control
|
|
66
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
export class SoundObject {
|
|
2
|
-
// 表示済みの画像を管理するクラス
|
|
3
|
-
private audio: any = null
|
|
4
|
-
private ctx: AudioContext = new AudioContext()
|
|
5
|
-
public source: AudioBufferSourceNode | null = this.ctx.createBufferSource()
|
|
6
|
-
private isPlaying: boolean = false
|
|
7
|
-
|
|
8
|
-
constructor() {
|
|
9
|
-
this.ctx = new AudioContext()
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
getAudio() {
|
|
13
|
-
return this.audio
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
async setAudio(track: ArrayBuffer) {
|
|
17
|
-
// 画像の読み込みと表示処理
|
|
18
|
-
this.audio = await this.ctx.decodeAudioData(track)
|
|
19
|
-
const source = this.ctx.createBufferSource()
|
|
20
|
-
source.buffer = this.audio
|
|
21
|
-
source.connect(this.ctx.destination)
|
|
22
|
-
return this
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
getContext() {
|
|
26
|
-
return this.ctx
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
setContext(context: AudioContext) {
|
|
30
|
-
this.ctx = context
|
|
31
|
-
return this
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
getFileInfo() {
|
|
35
|
-
// return filename, fileSize, playTime
|
|
36
|
-
return
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
async setAudioAsync(src: string): Promise<SoundObject> {
|
|
40
|
-
if (!src || src.length == 0) {
|
|
41
|
-
return this
|
|
42
|
-
}
|
|
43
|
-
const arrayBuffer = await (await fetch(src)).arrayBuffer()
|
|
44
|
-
this.audio = await this.ctx.decodeAudioData(arrayBuffer)
|
|
45
|
-
return this
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// music control
|
|
49
|
-
play(loop: boolean): void {
|
|
50
|
-
if (this.isPlaying) {
|
|
51
|
-
this.stop()
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
if (!this.audio) {
|
|
55
|
-
console.error('No audio loaded')
|
|
56
|
-
return
|
|
57
|
-
}
|
|
58
|
-
this.source = this.ctx.createBufferSource()
|
|
59
|
-
this.source.buffer = this.audio
|
|
60
|
-
this.source.connect(this.ctx.destination)
|
|
61
|
-
this.source.loop = loop;
|
|
62
|
-
this.source.start(0)
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
stop(): void {
|
|
66
|
-
if (this.source && this.isPlaying) {
|
|
67
|
-
this.source.stop()
|
|
68
|
-
this.source.disconnect()
|
|
69
|
-
this.source = null
|
|
70
|
-
this.isPlaying = false
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
get playing(): boolean {
|
|
75
|
-
return this.isPlaying
|
|
76
|
-
}
|
|
77
|
-
// other effect
|
|
78
|
-
// volume control
|
|
79
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
export class SoundObject {
|
|
2
|
-
// 表示済みの画像を管理するクラス
|
|
3
|
-
private audio: any = null
|
|
4
|
-
private ctx: AudioContext = new AudioContext()
|
|
5
|
-
public source: AudioBufferSourceNode | null = this.ctx.createBufferSource()
|
|
6
|
-
private isPlaying: boolean = false
|
|
7
|
-
|
|
8
|
-
constructor() {
|
|
9
|
-
this.ctx = new AudioContext()
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
getAudio() {
|
|
13
|
-
return this.audio
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
async setAudio(track: ArrayBuffer) {
|
|
17
|
-
// 画像の読み込みと表示処理
|
|
18
|
-
this.audio = await this.ctx.decodeAudioData(track)
|
|
19
|
-
const source = this.ctx.createBufferSource()
|
|
20
|
-
source.buffer = this.audio
|
|
21
|
-
source.connect(this.ctx.destination)
|
|
22
|
-
return this
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
getContext() {
|
|
26
|
-
return this.ctx
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
setContext(context: AudioContext) {
|
|
30
|
-
this.ctx = context
|
|
31
|
-
return this
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
getFileInfo() {
|
|
35
|
-
// return filename, fileSize, playTime
|
|
36
|
-
return
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
async setAudioAsync(src: string): Promise<SoundObject> {
|
|
40
|
-
if (!src || src.length == 0) {
|
|
41
|
-
return this
|
|
42
|
-
}
|
|
43
|
-
const arrayBuffer = await (await fetch(src)).arrayBuffer()
|
|
44
|
-
this.audio = await this.ctx.decodeAudioData(arrayBuffer)
|
|
45
|
-
return this
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// music control
|
|
49
|
-
play(loop: boolean): void {
|
|
50
|
-
if (this.isPlaying) {
|
|
51
|
-
this.stop()
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
if (!this.audio) {
|
|
55
|
-
console.error('No audio loaded')
|
|
56
|
-
return
|
|
57
|
-
}
|
|
58
|
-
this.source = this.ctx.createBufferSource()
|
|
59
|
-
this.source.buffer = this.audio
|
|
60
|
-
this.source.connect(this.ctx.destination)
|
|
61
|
-
this.source.loop = loop;
|
|
62
|
-
this.source.start(0)
|
|
63
|
-
|
|
64
|
-
this.isPlaying = true
|
|
65
|
-
|
|
66
|
-
this.source.onended = () => {
|
|
67
|
-
if (!this.source?.loop) {
|
|
68
|
-
this.isPlaying = false
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
stop(): void {
|
|
74
|
-
if (this.source && this.isPlaying) {
|
|
75
|
-
this.source.stop()
|
|
76
|
-
this.source.disconnect()
|
|
77
|
-
this.source = null
|
|
78
|
-
this.isPlaying = false
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
get playing(): boolean {
|
|
83
|
-
return this.isPlaying
|
|
84
|
-
}
|
|
85
|
-
// other effect
|
|
86
|
-
// volume control
|
|
87
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
export class SoundObject {
|
|
2
|
-
// 表示済みの画像を管理するクラス
|
|
3
|
-
private audio: any = null
|
|
4
|
-
private ctx: AudioContext = new AudioContext()
|
|
5
|
-
public source: AudioBufferSourceNode | null = this.ctx.createBufferSource()
|
|
6
|
-
private isPlaying: boolean = false
|
|
7
|
-
|
|
8
|
-
constructor() {
|
|
9
|
-
this.ctx = new AudioContext()
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
getAudio() {
|
|
13
|
-
return this.audio
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
async setAudio(track: ArrayBuffer) {
|
|
17
|
-
// 画像の読み込みと表示処理
|
|
18
|
-
this.audio = await this.ctx.decodeAudioData(track)
|
|
19
|
-
const source = this.ctx.createBufferSource()
|
|
20
|
-
source.buffer = this.audio
|
|
21
|
-
source.connect(this.ctx.destination)
|
|
22
|
-
return this
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
getContext() {
|
|
26
|
-
return this.ctx
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
setContext(context: AudioContext) {
|
|
30
|
-
this.ctx = context
|
|
31
|
-
return this
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
getFileInfo() {
|
|
35
|
-
// return filename, fileSize, playTime
|
|
36
|
-
return
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
async setAudioAsync(src: string): Promise<SoundObject> {
|
|
40
|
-
if (!src || src.length == 0) {
|
|
41
|
-
return this
|
|
42
|
-
}
|
|
43
|
-
const arrayBuffer = await (await fetch(src)).arrayBuffer()
|
|
44
|
-
this.audio = await this.ctx.decodeAudioData(arrayBuffer)
|
|
45
|
-
return this
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// music control
|
|
49
|
-
play(loop: boolean): void {
|
|
50
|
-
if (this.isPlaying) {
|
|
51
|
-
this.stop()
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
if (!this.audio) {
|
|
55
|
-
console.error('No audio loaded')
|
|
56
|
-
return
|
|
57
|
-
}
|
|
58
|
-
this.source = this.ctx.createBufferSource()
|
|
59
|
-
this.source.buffer = this.audio
|
|
60
|
-
this.source.connect(this.ctx.destination)
|
|
61
|
-
this.source.loop = loop;
|
|
62
|
-
this.source.start(0)
|
|
63
|
-
|
|
64
|
-
this.isPlaying = true
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
stop(): void {
|
|
68
|
-
if (this.source && this.isPlaying) {
|
|
69
|
-
this.source.stop()
|
|
70
|
-
this.source.disconnect()
|
|
71
|
-
this.source = null
|
|
72
|
-
this.isPlaying = false
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
get playing(): boolean {
|
|
77
|
-
return this.isPlaying
|
|
78
|
-
}
|
|
79
|
-
// other effect
|
|
80
|
-
// volume control
|
|
81
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
export class SoundObject {
|
|
2
|
-
// 表示済みの画像を管理するクラス
|
|
3
|
-
private audio: any = null
|
|
4
|
-
private ctx: AudioContext = new AudioContext()
|
|
5
|
-
public source: AudioBufferSourceNode | null = this.ctx.createBufferSource()
|
|
6
|
-
private isPlaying: boolean = false
|
|
7
|
-
|
|
8
|
-
constructor() {
|
|
9
|
-
this.ctx = new AudioContext()
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
getAudio() {
|
|
13
|
-
return this.audio
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
async setAudio(track: ArrayBuffer) {
|
|
17
|
-
// 画像の読み込みと表示処理
|
|
18
|
-
this.audio = await this.ctx.decodeAudioData(track)
|
|
19
|
-
const source = this.ctx.createBufferSource()
|
|
20
|
-
source.buffer = this.audio
|
|
21
|
-
source.connect(this.ctx.destination)
|
|
22
|
-
return this
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
getContext() {
|
|
26
|
-
return this.ctx
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
setContext(context: AudioContext) {
|
|
30
|
-
this.ctx = context
|
|
31
|
-
return this
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
getFileInfo() {
|
|
35
|
-
// return filename, fileSize, playTime
|
|
36
|
-
return
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
async setAudioAsync(src: string): Promise<SoundObject> {
|
|
40
|
-
if (!src || src.length == 0) {
|
|
41
|
-
return this
|
|
42
|
-
}
|
|
43
|
-
const arrayBuffer = await (await fetch(src)).arrayBuffer()
|
|
44
|
-
this.audio = await this.ctx.decodeAudioData(arrayBuffer)
|
|
45
|
-
return this
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// music control
|
|
49
|
-
play(loop: boolean): void {
|
|
50
|
-
if (this.isPlaying) {
|
|
51
|
-
this.stop()
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
if (!this.audio) {
|
|
55
|
-
console.error('No audio loaded')
|
|
56
|
-
return
|
|
57
|
-
}
|
|
58
|
-
this.source = this.ctx.createBufferSource()
|
|
59
|
-
this.source.buffer = this.audio
|
|
60
|
-
this.source.connect(this.ctx.destination)
|
|
61
|
-
this.source.loop = loop;
|
|
62
|
-
this.source.start(0)
|
|
63
|
-
|
|
64
|
-
this.isPlaying = true
|
|
65
|
-
|
|
66
|
-
this.source.onended = () => {
|
|
67
|
-
if (!this.source?.loop) {
|
|
68
|
-
this.isPlaying = false
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
stop(): void {
|
|
74
|
-
if (this.source && this.isPlaying) {
|
|
75
|
-
this.source.stop()
|
|
76
|
-
this.source.disconnect()
|
|
77
|
-
this.source = null
|
|
78
|
-
this.isPlaying = false
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
get playing(): boolean {
|
|
83
|
-
return this.isPlaying
|
|
84
|
-
}
|
|
85
|
-
// other effect
|
|
86
|
-
// volume control
|
|
87
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
export class SoundObject {
|
|
2
|
-
// 表示済みの画像を管理するクラス
|
|
3
|
-
private audio: any = null
|
|
4
|
-
private ctx: AudioContext = new AudioContext()
|
|
5
|
-
public source: AudioBufferSourceNode | null = this.ctx.createBufferSource()
|
|
6
|
-
private isPlaying: boolean = false
|
|
7
|
-
|
|
8
|
-
constructor() {
|
|
9
|
-
this.ctx = new AudioContext()
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
getAudio() {
|
|
13
|
-
return this.audio
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
async setAudio(track: ArrayBuffer) {
|
|
17
|
-
// 画像の読み込みと表示処理
|
|
18
|
-
this.audio = await this.ctx.decodeAudioData(track)
|
|
19
|
-
const source = this.ctx.createBufferSource()
|
|
20
|
-
source.buffer = this.audio
|
|
21
|
-
source.connect(this.ctx.destination)
|
|
22
|
-
return this
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
getContext() {
|
|
26
|
-
return this.ctx
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
setContext(context: AudioContext) {
|
|
30
|
-
this.ctx = context
|
|
31
|
-
return this
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
getFileInfo() {
|
|
35
|
-
// return filename, fileSize, playTime
|
|
36
|
-
return
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
async setAudioAsync(src: string): Promise<SoundObject> {
|
|
40
|
-
if (!src || src.length == 0) {
|
|
41
|
-
return this
|
|
42
|
-
}
|
|
43
|
-
const arrayBuffer = await (await fetch(src)).arrayBuffer()
|
|
44
|
-
this.audio = await this.ctx.decodeAudioData(arrayBuffer)
|
|
45
|
-
return this
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// music control
|
|
49
|
-
play(loop: boolean): void {
|
|
50
|
-
if (this.isPlaying) {
|
|
51
|
-
this.stop()
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
if (!this.audio) {
|
|
55
|
-
console.error('No audio loaded')
|
|
56
|
-
return
|
|
57
|
-
}
|
|
58
|
-
this.source = this.ctx.createBufferSource()
|
|
59
|
-
this.source.buffer = this.audio
|
|
60
|
-
this.source.connect(this.ctx.destination)
|
|
61
|
-
this.source.loop = loop;
|
|
62
|
-
this.source.start(0)
|
|
63
|
-
|
|
64
|
-
this.isPlaying = true
|
|
65
|
-
|
|
66
|
-
this.source.onended = () => {
|
|
67
|
-
if (!this.source?.loop) {
|
|
68
|
-
this.isPlaying = false
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
stop(): void {
|
|
74
|
-
if (this.source && this.isPlaying) {
|
|
75
|
-
this.source.stop()
|
|
76
|
-
this.source.disconnect()
|
|
77
|
-
this.source = null
|
|
78
|
-
this.isPlaying = false
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
get playing(): boolean {
|
|
83
|
-
return this.isPlaying
|
|
84
|
-
}
|
|
85
|
-
// other effect
|
|
86
|
-
// volume control
|
|
87
|
-
}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
export class SoundObject {
|
|
2
|
-
// 表示済みの画像を管理するクラス
|
|
3
|
-
private audio: any = null
|
|
4
|
-
private ctx: AudioContext = new AudioContext()
|
|
5
|
-
public source: AudioBufferSourceNode | null = this.ctx.createBufferSource()
|
|
6
|
-
private _isPlaying: boolean = false
|
|
7
|
-
|
|
8
|
-
constructor() {
|
|
9
|
-
this.ctx = new AudioContext()
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
get isPlaying(): boolean {
|
|
13
|
-
return this._isPlaying
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
getAudio() {
|
|
17
|
-
return this.audio
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
async setAudio(track: ArrayBuffer) {
|
|
21
|
-
// 画像の読み込みと表示処理
|
|
22
|
-
this.audio = await this.ctx.decodeAudioData(track)
|
|
23
|
-
const source = this.ctx.createBufferSource()
|
|
24
|
-
source.buffer = this.audio
|
|
25
|
-
source.connect(this.ctx.destination)
|
|
26
|
-
return this
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getContext() {
|
|
30
|
-
return this.ctx
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
setContext(context: AudioContext) {
|
|
34
|
-
this.ctx = context
|
|
35
|
-
return this
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
getFileInfo() {
|
|
39
|
-
// return filename, fileSize, playTime
|
|
40
|
-
return
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
async setAudioAsync(src: string): Promise<SoundObject> {
|
|
44
|
-
if (!src || src.length == 0) {
|
|
45
|
-
return this
|
|
46
|
-
}
|
|
47
|
-
const arrayBuffer = await (await fetch(src)).arrayBuffer()
|
|
48
|
-
this.audio = await this.ctx.decodeAudioData(arrayBuffer)
|
|
49
|
-
return this
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// music control
|
|
53
|
-
play(loop: boolean): void {
|
|
54
|
-
if (this._isPlaying) {
|
|
55
|
-
this.stop()
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if (!this.audio) {
|
|
59
|
-
console.error('No audio loaded')
|
|
60
|
-
return
|
|
61
|
-
}
|
|
62
|
-
this.source = this.ctx.createBufferSource()
|
|
63
|
-
this.source.buffer = this.audio
|
|
64
|
-
this.source.connect(this.ctx.destination)
|
|
65
|
-
this.source.loop = loop;
|
|
66
|
-
this.source.start(0)
|
|
67
|
-
|
|
68
|
-
this._isPlaying = true
|
|
69
|
-
|
|
70
|
-
this.source.onended = () => {
|
|
71
|
-
if (!this.source?.loop) {
|
|
72
|
-
this._isPlaying = false
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
stop(): void {
|
|
78
|
-
if (this.source && this._isPlaying) {
|
|
79
|
-
this.source.stop()
|
|
80
|
-
this.source.disconnect()
|
|
81
|
-
this.source = null
|
|
82
|
-
this._isPlaying = false
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
get playing(): boolean {
|
|
87
|
-
return this._isPlaying
|
|
88
|
-
}
|
|
89
|
-
// other effect
|
|
90
|
-
// volume control
|
|
91
|
-
}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
export class SoundObject {
|
|
2
|
-
// 表示済みの画像を管理するクラス
|
|
3
|
-
private audio: any = null
|
|
4
|
-
private audioCtx: AudioContext = new AudioContext()
|
|
5
|
-
public source: AudioBufferSourceNode | null = this.audioCtx.createBufferSource()
|
|
6
|
-
private _isPlaying: boolean = false
|
|
7
|
-
|
|
8
|
-
constructor() {
|
|
9
|
-
this.audioCtx = new AudioContext()
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
get isPlaying(): boolean {
|
|
13
|
-
return this._isPlaying
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
getAudio() {
|
|
17
|
-
return this.audio
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
async setAudio(track: ArrayBuffer) {
|
|
21
|
-
// 画像の読み込みと表示処理
|
|
22
|
-
this.audio = await this.audioCtx.decodeAudioData(track)
|
|
23
|
-
const source = this.audioCtx.createBufferSource()
|
|
24
|
-
source.buffer = this.audio
|
|
25
|
-
source.connect(this.audioCtx.destination)
|
|
26
|
-
return this
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getContext() {
|
|
30
|
-
return this.audioCtx
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
setContext(context: AudioContext) {
|
|
34
|
-
this.audioCtx = context
|
|
35
|
-
return this
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
getFileInfo() {
|
|
39
|
-
// return filename, fileSize, playTime
|
|
40
|
-
return
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
async setAudioAsync(src: string): Promise<SoundObject> {
|
|
44
|
-
if (!src || src.length == 0) {
|
|
45
|
-
return this
|
|
46
|
-
}
|
|
47
|
-
const arrayBuffer = await (await fetch(src)).arrayBuffer()
|
|
48
|
-
this.audio = await this.audioCtx.decodeAudioData(arrayBuffer)
|
|
49
|
-
return this
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// music control
|
|
53
|
-
play(loop: boolean): void {
|
|
54
|
-
if (this._isPlaying) {
|
|
55
|
-
this.stop()
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if (!this.audio) {
|
|
59
|
-
console.error('No audio loaded')
|
|
60
|
-
return
|
|
61
|
-
}
|
|
62
|
-
this.source = this.audioCtx.createBufferSource()
|
|
63
|
-
this.source.buffer = this.audio
|
|
64
|
-
this.source.connect(this.audioCtx.destination)
|
|
65
|
-
this.source.loop = loop;
|
|
66
|
-
this.source.start(0)
|
|
67
|
-
|
|
68
|
-
this._isPlaying = true
|
|
69
|
-
|
|
70
|
-
this.source.onended = () => {
|
|
71
|
-
if (!this.source?.loop) {
|
|
72
|
-
this._isPlaying = false
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
pasue(): void {
|
|
78
|
-
if (this.source && this._isPlaying) {
|
|
79
|
-
this.source.currentTime
|
|
80
|
-
this.source.stop()
|
|
81
|
-
this._isPlaying = false
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
stop(): void {
|
|
86
|
-
if (this.source && this._isPlaying) {
|
|
87
|
-
this.source.stop()
|
|
88
|
-
this.source.disconnect()
|
|
89
|
-
this.source = null
|
|
90
|
-
this._isPlaying = false
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
get playing(): boolean {
|
|
95
|
-
return this._isPlaying
|
|
96
|
-
}
|
|
97
|
-
// other effect
|
|
98
|
-
// volume control
|
|
99
|
-
}
|