Hier ist mein Anwendungsfall: Alice hat einen coolen neuen Medientrack, den sie Bob hören möchte. Sie wählt die Mediendatei in ihrem Browser aus und die Mediendatei wird sofort in Bobs Browser abgespielt.
Ich bin mir nicht einmal sicher, ob dies jetzt mit der WebRTC-API möglich ist. Alle Beispiele, die ich finden kann, verwenden Streams, die über getUserMedia () erhalten werden, aber das ist es, was ich habe:
%Vor%Auf der Empfängerseite habe ich folgendes:
%Vor% Dieser Code bewirkt nicht, dass die Medien (Musik) auf der Empfangsseite wiedergegeben werden. Ich erhalte jedoch ein beendet -Ereignis, gleich nachdem der WebRTC-Handshake ausgeführt wurde und die goteRemoteStream -Funktion aufgerufen wurde. Der gotRemoteStream Funktion wird aufgerufen, das Medium startet nicht.
Auf der Seite von Alice soll die Magie in der Zeile source.connect (Ziel) vorkommen . Wenn ich diese Zeile durch source.connect (context.destination) ersetze, werden die Medien korrekt über die Lautsprecher von Alice abgespielt.
Auf Bobs Seite wird eine Media-Stream-Quelle basierend auf Alices Stream erstellt. Wenn jedoch der lokale Lautsprecher über mediaStreamSource.connect (context.destination) verbunden ist, beginnt die Musik nicht über die Lautsprecher zu spielen.
Natürlich könnte ich die Mediendatei immer über einen DataChannel senden, aber wo liegt der Spaß daran ...
Jede Information über das, was mit meinem Code nicht stimmt oder einige Ideen, wie ich meinen Anwendungsfall erreichen könnte, wäre sehr zu begrüßen!
Ich verwende den neuesten und besten Chrome Canary.
Danke.
Beachten Sie Chrome. klingt wie ein Fehler.
Probieren Sie es auf Firefox aus (nächtlich schlage ich vor); Wir haben WebAudio-Unterstützung, obwohl ich nicht alle Details darüber weiß, was derzeit unterstützt wird.
Außerdem haben wir zumindest in Firefox stream = media_element.captureStreamUntilEnded (); Wir verwenden es in einigen unserer Tests in Dom / Media / Tests / Mochitests glaube ich. Auf diese Weise können Sie beliebige Audio- oder Videoelemente aufnehmen und die Ausgabe als Mediastream erfassen.
Bearbeiten: siehe unten; Sowohl Chrome als auch Firefox vermissen WebAudio mit WebRTC PeerConnections, aber an verschiedenen Orten. Mozilla hofft, bald den letzten Fehler beheben zu können.
Sehen Sie sich die Seite MediaStream-Integration an. Es veranschaulicht die WebRTC-Integration mit der Web Audio API. Insbesondere ist dieses Beispiel relevant für Ihre Frage:
%Vor%
- Erfassen Sie den Mikrofoneingang, visualisieren Sie ihn, mischen Sie eine andere Audiospur und streamen Sie das Ergebnis zu einem Peer
Ich befürchte jedoch, dass dies derzeit nur ein Vorschlag ist.
Tags und Links javascript html html5 webrtc