Dostęp do Mikrofonu i co dalej...? (Jak korzystać z WebRTC?)

0

Witam w nowym wątku. Może zacznijmy od podstaw: MediaDevices.getUserMedia()

navigator.mediaDevices.getUserMedia({ audio: true, video: false })
  .then(function(stream) {
    // Do something with the stream, e.g. create an audio element and play the stream
  })
  .catch(function(error) {
    // Handle error
  });

Czy możecie podać mi jakiś przykład co zrobić w dziale "do something with the stream"? Dziękuję. Pozdrawiam.

I może bardziej kompleksowe rozwiązanie, z ustawieniami parametrów audio:

navigator.mediaDevices.getUserMedia({
  audio: {
    deviceId: 'your-microphone-device-id',
    echoCancellation: true,
    sampleRate: 44100
  },
  video: false
})
  .then(function(stream) {
    // Do something with the stream
  })
  .catch(function(error) {
    // Handle error
  });

Pozwolę sobie przytoczyć co powiedział mi chat.openai.com Przytaczam to bo będę miał kilka pytań odnośnie poszczególnych etapów wyszczególnionych poniżej. Pojawia się jeszcze zagadnienie, jak skleić getUserMedia z... "procedurą" WebRTC. Hmm... no w takim razie zawieśmy się na chwilę nad tym co mamy. Oto co wypluł mi OpenAI :-)

Dołącz bibliotekę WebRTC do swojej aplikacji internetowej. Możesz to zrobić, dodając następujący tag skryptu do pliku HTML:

<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>

Utwórz nowy obiekt RTCPeerConnection, aby nawiązać połączenie typu peer-to-peer. Obiekt RTCPeerConnection jest używany do zarządzania połączeniem i obsługi strumieni audio, wideo i danych.

const pc = new RTCPeerConnection();

Dodaj nasłuchiwacze zdarzeń do obiektu RTCPeerConnection, aby obsłużyć różne etapy połączenia. Najważniejsze zdarzenia to onicecandidate, które jest wywoływane, gdy lokalny peer generuje kandydata ICE, oraz ontrack, które jest wywoływane, gdy otrzymano nowy ślad od zdalnego peer-a.

pc.onicecandidate = function(event) {
  // Obsłuż zdarzenie kandydata ICE
};

pc.ontrack = function(event) {
  // Obsłuż zdarzenie śladu
};

Użyj metody createOffer(), aby utworzyć ofertę, którą można wysłać do zdalnego peer-a. Oferta zawiera informacje o możliwościach i preferencjach mediów lokalnego peer-a.

pc.createOffer()
  .then(function(offer) {
    // Wyślij ofertę do zdalnego peer-a
  })
  .catch(function(error) {
    // Obsłuż błąd
  });

Gdy zdalny peer otrzyma ofertę, może utworzyć odpowiedź za pomocą metody createAnswer(). Odpowiedź zawiera informacje o możliwościach i preferencjach mediów zdalnego peer-a.

pc.createAnswer()
  .then(function(answer) {
    // Wyślij odpowiedź do lokalnego peer-a
  })
  .catch(function(error) {
    // Obsłuż błąd

Hmm... Teraz trzeba pomedytować trochę nad tym!

1

Ale co Ty w ogóle próbujesz zrobić? Bo nie widzę konkretnego pytania w tym poście.

0
Riddle napisał(a):

Ale co Ty w ogóle próbujesz zrobić? Bo nie widzę konkretnego pytania w tym poście.

"Aplikacja do wideorozmów" - A bo przeskoczyłem z tego wątku na forum na ten tutaj. Czy możesz cały ten wątek podpiąć pod resztę tego co jest tam? O co mi chodzi? O zrobienie Audio-Live witryny internetowej!

1 użytkowników online, w tym zalogowanych: 0, gości: 1