mirror of https://github.com/vector-im/riot-web
Add option for audio live streaming
Starts jitsi streaming to a specially configured URL so that the jitsi server can start an audio-only stream, in combination with an API to manage audio streams by room ID.pull/16604/head
parent
4f0fccfe96
commit
b910fcd38a
|
@ -113,6 +113,9 @@ For a good example, see https://develop.element.io/config.json.
|
||||||
1. `mobileGuideToast`: Whether to show a toast a startup which nudges users on
|
1. `mobileGuideToast`: Whether to show a toast a startup which nudges users on
|
||||||
iOS and Android towards the native mobile apps. The toast redirects to the
|
iOS and Android towards the native mobile apps. The toast redirects to the
|
||||||
mobile guide if they accept. Defaults to false.
|
mobile guide if they accept. Defaults to false.
|
||||||
|
1. `audioStreamUrl`: If supplied, show an option on Jitsi widgets to stream
|
||||||
|
audio using Jitsi's live streaming feature. This option is experimental and
|
||||||
|
may be removed at any time without notice.
|
||||||
|
|
||||||
Note that `index.html` also has an og:image meta tag that is set to an image
|
Note that `index.html` also has an og:image meta tag that is set to an image
|
||||||
hosted on riot.im. This is the image used if links to your copy of Element
|
hosted on riot.im. This is the image used if links to your copy of Element
|
||||||
|
|
|
@ -126,6 +126,22 @@ let meetApi: any; // JitsiMeetExternalAPI
|
||||||
widgetApi.transport.reply(ev.detail, {}); // ack
|
widgetApi.transport.reply(ev.detail, {}); // ack
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
widgetApi.on(`action:${ElementWidgetActions.StartLiveStream}`,
|
||||||
|
(ev: CustomEvent<IWidgetApiRequest>) => {
|
||||||
|
if (meetApi) {
|
||||||
|
meetApi.executeCommand('startRecording', {
|
||||||
|
mode: 'stream',
|
||||||
|
// this looks like it should be rtmpStreamKey but we may be on too old
|
||||||
|
// a version of jitsi meet
|
||||||
|
//rtmpStreamKey: ev.detail.data.rtmpStreamKey,
|
||||||
|
youtubeStreamKey: ev.detail.data.rtmpStreamKey,
|
||||||
|
});
|
||||||
|
widgetApi.transport.reply(ev.detail, {}); // ack
|
||||||
|
} else {
|
||||||
|
widgetApi.transport.reply(ev.detail, {error: {message: "Conference not joined"}});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
enableJoinButton(); // always enable the button
|
enableJoinButton(); // always enable the button
|
||||||
|
|
Loading…
Reference in New Issue