MediaRecorder.start()
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2021å¹´4æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
MediaRecorder ã® start() ã¡ã½ãã㯠MediaStream åé² API ã®ä¸é¨ã§ããã1 ã¤ä»¥ä¸ã® Blob ãªãã¸ã§ã¯ãã¸ã®ã¡ãã£ã¢ã®åé²ãéå§ãã¾ãã
ã¡ãã£ã¢ã®å
¨æéãåä¸ã® Blob ã«ï¼ã¾ã㯠requestData() ãå¼ã³åºãã¾ã§ï¼åé²ãããã¨ããä¸åº¦ã«åé²ããããªç§æ°ãæå®ãããã¨ãã§ãã¾ãã ãã®å¾ããã®éã®ã¡ãã£ã¢ãåé²ããããã³ã«ãåé²ãããã¡ãã£ã¢ã«å¯¾å¿ã§ããããã«ã¤ãã³ããé
ä¿¡ããããã®éã«ãã¡ãã£ã¢ã®æ¬¡ã®ã¹ã©ã¤ã¹ãåé²ããããã®æ°ãã Blob ã使ããã¾ãã
MediaRecorder ã® state ã inactive ã§ããã¨ä»®å®ããã¨ãstart() 㯠state ã recording ã«è¨å®ãã¦ãããå
¥åã¹ããªã¼ã ããã¡ãã£ã¢ã®ãã£ããã£ãéå§ãã¾ãã ã¿ã¤ã ã¹ã©ã¤ã¹æéãçµéããããã½ã¼ã¹ã¡ãã£ã¢ãçµäºããã¾ã§ãBlob ã使ãããããã«ãã¼ã¿ãåéããã¾ãã Blob ããã®æç¹ã¾ã§æºãããããã³ã«ï¼ã¿ã¤ã ã¹ã©ã¤ã¹æéã¾ãã¯ãã¹ã©ã¤ã¹æéãæå®ããã¦ããªãå ´åã¯ã¡ãã£ã¢ã®çµããï¼ãdataavailable ã¤ãã³ããåé²ããããã¼ã¿ã¨ã¨ãã« MediaRecorder ã«éããã¾ãã ã½ã¼ã¹ãã¾ã åçä¸ã®å ´åã¯ãæ°ãã Blob ã使ãããããã«åé²ãç¶ãã¾ãã
ã½ã¼ã¹ã¹ããªã¼ã ãçµäºããã¨ãstate 㯠inactive ã«è¨å®ããããã¼ã¿åéã¯åæ¢ãã¾ãã æå¾ã® dataavailable ã¤ãã³ãã MediaRecorder ã«éããããã®å¾ã« stop ã¤ãã³ããç¶ãã¾ãã
ã¡ã¢:
ãã©ã¦ã¶ã¼ãåé²ãéå§ã¾ãã¯åé²ãç¶è¡ã§ããªãå ´åã¯ãDOMError ã¤ãã³ããçºçãããç¶ãã¦åéãã Blob ãå«ã dataavailable ã¤ãã³ã㨠stop ã¤ãã³ããçºçããããã¨ãã¾ãã
æ§æ
start()
start(timeslice)
弿°
timesliceçç¥å¯-
å
Blobã«åé²ããããªç§æ°ã ãã®å¼æ°ãå«ã¾ãã¦ããªãå ´åã¯ãrequestData()ã¡ã½ãããå¼ã³åºããã¦Blobãåå¾ãããã¡ãã£ã¢ã®åé²ãç¶ç¶ããæ°ããBlobã®ä½æã®ãã£ããããªãéããã¡ãã£ã¢æéå ¨ä½ãåä¸ã®Blobã«åé²ããã¾ãã
è¿å¤
ãªã (undefined)ã
ä¾å¤
ããã«æ¤åºã§ããã¨ã©ã¼ã¯ DOM ä¾å¤ã¨ãã¦ã¹ãã¼ããã¾ãã ä»ã®ãã¹ã¦ã®ã¨ã©ã¼ã¯ãMediaRecorder ãªãã¸ã§ã¯ãã«éããã error ã¤ãã³ããéãã¦å ±åããã¾ãã onerror ã¤ãã³ããã³ãã©ã¼ãå®è£
ãããã¨ã§ããããã®ã¨ã©ã¼ã«å¯¾å¿ãããã¨ãã§ãã¾ãã
InvalidModificationErrorDOMException-
åé²ä¸ã®ã¹ããªã¼ã ã®ãã©ãã¯æ°ã夿´ãããå ´åã«çºçãã¾ããã¡ãã£ã¢ã®åé²ä¸ã«ãã©ãã¯ã追å ãããåé¤ããããããã¨ã¯ã§ãã¾ããã
InvalidStateErrorDOMException-
MediaRecorderãinactiveç¶æ ã§ã¯ãªãå ´åã«çºçãã¾ãããã§ã«åé²ä¸ã®å ´åã¯ãã¡ãã£ã¢ã®åé²ãéå§ãããã¨ã¯ã§ãã¾ãããstateããããã£ãåç §ãã¦ãã ããã NotSupportedErrorDOMException-
åé²ãããã¨ãã¦ããã¡ãã£ã¢ã¹ããªã¼ã ãéã¢ã¯ãã£ãã§ããããã¹ããªã¼ã ã® 1 ã¤ä»¥ä¸ã®ãã©ãã¯ãç¾å¨ã®è¨å®ã使ç¨ãã¦åé²ã§ããªãå½¢å¼ã§ããå ´åã«çºçãã¾ãã
SecurityErrorDOMException-
MediaStreamãåé²ãç¦æ¢ããããã«è¨å®ããã¦ããå ´åã«çºçãã¾ãã ããã¯ãä¾ãã°ãã¦ã¼ã¶ã¼ãå ¥åæ©å¨ã使ç¨ãã許å¯ãæå¦ããã¨ãã«getUserMedia()ã使ç¨ãã¦åå¾ãããã½ã¼ã¹ã®å ´åãªã©ã§ãããã®ä¾å¤ã¯ãåé²éå§å¾ã«ã½ã¼ã¹ã¡ãã£ã¢ã®ã»ãã¥ãªãã£ãªãã·ã§ã³ã夿´ãããå ´åã«ãerrorã¤ãã³ãã¨ãã¦é ä¿¡ãããå¯è½æ§ãããã¾ãã UnknownErrorDOMException-
åé²å¦çä¸ã«ä½ãä»ã®åé¡ãçºçããå ´åã«çºçãã¾ãã
ä¾
record.onclick = () => {
mediaRecorder.start();
console.log("åé²ãéå§ãã¾ããã");
};
仿§æ¸
| 仿§æ¸ |
|---|
| MediaStream Recording > # dom-mediarecorder-start > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
- MediaStream åé² API ã®ä½¿ç¨
- ã¦ã§ããã£ã¯ã¿ãã©ã³: MediaRecorder + getUserMedia + Web Audio API å¯è¦åãã¢ãChris Mills èï¼GitHub ã®ã½ã¼ã¹ï¼ãï¼è±èªï¼
- simpl.info ã® MediaStream åé²ã®ãã¢ãSam Dutton èãï¼è±èªï¼
getUserMedia()