TMediaCapture

Hello
I am trying to work with WebMediaCapture to record audio/video in my Project. I correctly added a SSL certificate and got the WebBasicCamera demo project to work, but this only takes a snapshot.
I tried to make the Dictaphone project work, and it tries to, but even the Dictaphone demo from the tms website does not seem to work giving console error:
IndexedDB Warning: AddIndex commands ignored for existing database.
(index):1 Error while trying to use the following icon from the Manifest: https://download.tmssoftware.com/tmsweb/demos/tmsweb_Dictaphone/IconResLow.png (Resource size is not correct - typo in the Manifest?)
TMSWeb_Dictaphone.js:1 Uncaught TypeError: this.FParentElement.appendChild is not a function
at Object.SetParentElement (TMSWeb_Dictaphone.js:1)
at Object.gridRecordingsGetCellChildren (TMSWeb_Dictaphone.js:1)
at Object.i [as FOnGetCellChildren] (TMSWeb_Dictaphone.js:1)
at Object.GetCellChildren (TMSWeb_Dictaphone.js:1)
at Object.LoadRow (TMSWeb_Dictaphone.js:1)
at Object.DataChange (TMSWeb_Dictaphone.js:1)
at Object.i [as FOnDataChange] (TMSWeb_Dictaphone.js:1)
at Object.DataSetChanged (TMSWeb_Dictaphone.js:1)
at Object.DataEvent (TMSWeb_Dictaphone.js:1)
at Object.DistributeEvent (TMSWeb_Dictaphone.js:1)

run in Chrome.

Can someone help me with a small project to make webcam Record Sound and Video that I can then save to the server?

Thank you very much
Doug

I see the demo code was not yet adapted for an event signature change in TWebStringGrid.
Change the event handler declaration to:

procedure gridRecordingsGetCellChildren(Sender: TObject; ACol,
  ARow: Integer; AField: TField; AValue: string; AElement: TJSHTMLElementRecord);

and the code in the event handler

lbl.ParentElement := AElement.element;

Thank you for your response. i changed those per your suggestion, but still running in Chrome with valid SSL certificate, I get

ERROR
Uncaught TypeError: this.FParentElement.appendChild is not a function | TypeError: this.FParentElement.appendChild is not a function at Object.SetParentElement (https://108.20.45.3:8078/TMSWeb_Dictaphone/TMSWeb_Dictaphone.js:30168:31) at Object.gridRecordingsGetCellChildren (https://108.20.45.3:8078/TMSWeb_Dictaphone/TMSWeb_Dictaphone.js:75491:13) at Object.cb [as FOnGetCellChildren] (https://108.20.45.3:8078/TMSWeb_Dictaphone/TMSWeb_Dictaphone.js:242:19) at Object.GetCellChildren (https://108.20.45.3:8078/TMSWeb_Dictaphone/TMSWeb_Dictaphone.js:65972:14) at Object.LoadRow (https://108.20.45.3:8078/TMSWeb_Dictaphone/TMSWeb_Dictaphone.js:75069:14) at Object.DataChange (https://108.20.45.3:8078/TMSWeb_Dictaphone/TMSWeb_Dictaphone.js:75120:18) at Object.cb [as FOnDataChange] (https://108.20.45.3:8078/TMSWeb_Dictaphone/TMSWeb_Dictaphone.js:238:26) at Object.DataSetChanged (https://108.20.45.3:8078/TMSWeb_Dictaphone/TMSWeb_Dictaphone.js:72424:44) at Object.DataEvent (https://108.20.45.3:8078/TMSWeb_Dictaphone/TMSWeb_Dictaphone.js:57468:14) at Object.DistributeEvent (https://108.20.45.3:8078/TMSWeb_Dictaphone/TMSWeb_Dictaphone.js:57732:44)
at https://108.20.45.3:8078/TMSWeb_Dictaphone/TMSWeb_Dictaphone.js [259:48]

The online demo is updated.
The patched file is attached. The you still see issues is most likely due to incorrect patching on your side or still using cached files.
UDemo.pas (5.4 KB)