ãã®ããŒã«ã®æ©èœ
ã¡ãã£ã¢ãã¬ã€ã€ãŒã¯ãããã€ã¹ãããªãŒãã£ãªãšãããªãã¡ã€ã«ãåçããŸãããã¡ã€ã«ããã«ãŒãŸãã¯ãã©ãã°&ããããã§ãã¬ã€ãªã¹ããæ§ç¯ããã¯ãªãã¯ã§ãã©ãã¯ã«ãžã£ã³ããåç/äžæåæ¢ãã·ãŒã¯ãé³éããªããŒãïŒãªããå šéšã1æ²ïŒãå¶åŸ¡ãã·ã£ããã«ã¢ãŒãã§åçé ãã©ã³ãã åããã¹ãŠã®åçã¯ãã©ãŠã¶ã§âã¢ããããŒããªãããµãŒããŒãªããblob URLã§ã¡ã¢ãªãããã¡ã€ã«ãèªã¿èŸŒã¿ãŸãã
äœ¿ãæ¹
- ãã¡ã€ã«ã远å â ãªãŒãã£ãª/ãããªãã¡ã€ã«ïŒMP3ãMP4ãªã©ïŒãã¯ãªãã¯ã§éžæãŸãã¯ãã©ãã°&ããããã
- ãã¬ã€ãªã¹ããæ§ç¯ â ãã¡ã€ã«ããã¬ã€ãªã¹ãã«è¡šç€ºããã©ãã¯ãã¯ãªãã¯ããŠåçã
- å¶åŸ¡ â åçãäžæåæ¢ãã·ãŒã¯ãé³éããªããŒãã§ãªããå šéšãçŸåšã®ãã©ãã¯ãã«ãŒãã
- ã·ã£ããã« â ã·ã£ããã«ãæå¹ã«ããŠã©ã³ãã é åºïŒFisher-YatesïŒã
- åé€ â ãã¬ã€ãªã¹ããããã©ãã¯ãåé€ãã¡ã¢ãªè§£æŸã®ããblob URLãrevokeã
- ãã«ã¹ã¯ãªãŒã³ â ãããªã®ãã«ã¹ã¯ãªãŒã³ãå©çšå¯èœãªãšã䜿çšã
åäœã®ä»çµã¿
åãã¡ã€ã«ã¯MediaItemïŒFileåç
§ã衚瀺åãã¿ã€ããblob URLïŒãšããŠã©ãããURL.createObjectURL(file) ã§HTML5åç»èŠçŽ ã䜿çšããäžæblob URLãäœæãã¡ãã£ã¢ã³ã³ãã³ãã¯ãµãŒããŒã«éä¿¡ãããŸããããã¬ã€ãªã¹ãé
ç®ãåé€ããããã³ã³ããŒãã³ããã¢ã³ããŠã³ãããããšãã¡ã¢ãªãªãŒã¯é²æ¢ã®ãã URL.revokeObjectURL() ãåŒã°ããŸããã·ã£ããã«ã¯Fisher-Yatesã§äžæ§ã©ã³ãã é åºããªããŒãã¢ãŒãïŒãªãïŒæåŸã§åæ¢ïŒãå
šéšïŒæåã«æ»ãïŒã1æ²ïŒçŸåšãã«ãŒãïŒã
ãã¹ãŠã®èšç®ã¯ãã©ãŠã¶å ã§å®è¡ãããŸããããŒã¿ã¯ãµãŒããŒã«éä¿¡ãããŸããã
䜿çšäŸãšãµã³ãã«
- ããŒã«ã«é³æ¥œ â ããã€ã¹ããMP3ãåçã
- ãããªãã¬ãã¥ãŒ â ããŒã«ã«ãããªãã¡ã€ã«ãã¯ã€ãã¯è¡šç€ºã
- ããããã£ã¹ã â ãšããœãŒãããã¥ãŒã«å ¥ããŠåçã
- ãã¬ãŒã³ããŒã·ã§ã³ â ããã¯ã°ã©ãŠã³ãé³å£°ããããªã¯ãªãããåçã
- ãã¹ã â ã¡ãã£ã¢ãã¡ã€ã«ãæ£ããåçãããæ€èšŒã
äŸ
- song1.mp3ãsong2.mp3 ã远å â 2æ²ã®ãã¬ã€ãªã¹ãã
- ã·ã£ããã«ãªã³ â åçé åºãã©ã³ãã åã
- ãªããŒãïŒ1æ² â 倿ŽãããŸã§çŸåšã®ãã©ãã¯ãã«ãŒãã
å¶éãšæ¢ç¥ã®å¶çŽ
- 圢åŒãµããŒã â ãã©ãŠã¶ãšOSã«äŸåïŒäŸïŒMP4ãWebMãMP3ïŒã
- blob URL â åé€/ã¢ã³ããŠã³ãæã«revokeããŠãªãŒã¯åé¿ãå¿ èŠã
- ã¹ããªãŒãã³ã°ãªã â ãã¡ã€ã«ã¯ã¡ã¢ãªã«èªã¿èŸŒã¿ïŒéåžžã«å€§ããªãã¡ã€ã«ã¯é ãå Žåããã
- åäžãªãªãžã³ â blob URLã¯åäžãªãªãžã³ïŒã¯ãã¹ãªãªãžã³ã¡ãã£ã¢ãªãã