remnoteio / remnote-official-plugins

22 stars 10 forks source link

I'm trying to develop a Record Audio/Voice Remnote Plugin but [FEATURE] #58

Closed ulises-castro closed 3 months ago

ulises-castro commented 3 months ago

I know this might be here, but I do not have idea where to ask for help.

Which plugin are you requesting the feature for? I'm working on developing an Audio Recorder for Remnote, but I'm facing microphone permission issues. It even does not ask for permission neither.

image I was thinking to convert the plugin into a native one, but the documentation does not content something related to the native mode, (i.e APIs available, how to request permission and so on).

I know the application is electron and the docs indicates that you can run the project the main javascript thread, but how can I access to request the microphone permissions?

Is your feature request related to a problem? Please describe. I'm not able to record an audio due to permissions.

Describe the solution you'd like Be able to know how to request microphone permissions in Remnote for my plugin.

coldenate commented 3 months ago

Please see:

https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Build_a_phone_with_peerjs/Connect_peers/Get_microphone_permission

ulises-castro commented 3 months ago

Please see:

https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Build_a_phone_with_peerjs/Connect_peers/Get_microphone_permission

Thanks for answer but that does not work. I already tried that, but it looks like Remnote app does not ask microphone permission at least in MacOs.

It seems the limitation comes from Remnote. Thus, I'm asking how native plugins work and what are the limitations of them, just to figure out a solution, right now I'm thinking on iframe to run an external process where I can give the permissions from the browser.

coldenate commented 3 months ago

Ah my apologies! I see your question. To enable a native plugin, you can go into the right sidebar in the app and enable the native toggle. Or you can set your manifest to do so

{ ...

"requestNative": true,

... }

CleanShot 2024-07-24 at 00 43 37