Wir können einen Medienstream auf einen Bildschirm oder Windows über anfordern navigator.mediaDevices.getDisplayMedia()
. Dies fordert den Benutzer jedoch sofort auf, zu entscheiden, welche Art der Erfassung verwendet werden soll. Ich muss überprüfen, ob der Browser / die Plattform überhaupt die Bildschirmaufnahme unterstützt.
Natürlich ist es möglich zu prüfen 'getDisplayMedia' in navigator.mediaDevices
, aber dies sagt uns nur, ob die API vom Browser unterstützt wird. Insbesondere unter FF und Chrome unter Android ist die API definiert und ich kann sie aufrufen getDisplayMedia()
, aber sie gibt immer sofort einen NotAllowedError
Fehler zurück (was zu erwarten ist: Laut caniuse unterstützen die mobilen Browser dies noch nicht getDisplayMedia
.)
Als nächstes habe ich versucht zu überprüfen navigator.mediaDevices.getSupportedConstraints()
. Mein mobiles FF gibt jedoch genau das gleiche Objekt zurück wie mein Desktop-FF. Insbesondere navigator.mediaDevices.getSupportedConstraints().mediaSource
ist true
in beiden Fällen. Schließlich navigator.mediaDevices.enumerateDevices()
helfen mir auch die von zurückgegebenen Daten nicht weiter. Ich bekomme nur eine Geräte- und Gruppen-ID, die ich in keiner Weise interpretieren kann (richtig?).
Kann man getDisplayMedia
vorher erkennen, ob die Bildschirmaufnahme über unterstützt wird oder nicht ?
( Hinweis : Diese Fragen und Antworten scheinen ziemlich ähnlich zu sein, sind aber ungefähr getUserMedia
und schon ziemlich alt.)
quelle
getDisplayMedia
auf Mobilgeräten verwenden" geht. Das ist gut für mich. Ich möchte nur überprüfen, ob es unterstützt wird oder nicht .Antworten:
Leider gibt es keine direkte Möglichkeit, Funktionen zu erkennen, ob getDisplayMedia in diesen Browsern funktioniert.
Alles, was Sie heute tun können, ist, die UA-Zeichenfolge mit dem Browser zu durchsuchen, um festzustellen, dass Sie nicht mobil sind, wo die Unterstützung fehlt.¹
Ich habe aufgrund Ihrer Frage ein Problem mit der Spezifikation eingereicht , um festzustellen, ob getDisplayMedia besser
undefined
nicht unterstützt wird.1. caniuse behauptet, dass Opera Mobile Unterstützung hat, aber dies scheint nicht so zu sein, wenn ich es teste .
quelle