mirror of
https://github.com/flavioribeiro/donut.git
synced 2025-12-24 13:37:51 +08:00
playing audio
This commit is contained in:
@@ -39,7 +39,7 @@ func NewSignalingHandler(
|
||||
}
|
||||
|
||||
func (h *SignalingHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) error {
|
||||
params, err := h.createAndValidateParams(w, r)
|
||||
params, err := h.createAndValidateParams(r)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -81,7 +81,11 @@ func (h *SignalingHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) err
|
||||
return err
|
||||
}
|
||||
|
||||
// var audioTrack *webrtc.TrackLocalStaticSample
|
||||
var audioTrack *webrtc.TrackLocalStaticSample
|
||||
audioTrack, err = h.webRTCController.CreateTrack(peer, donutRecipe.Audio.Codec, string(entities.AudioType), params.SRTStreamID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
metadataSender, err := h.webRTCController.CreateDataChannel(peer, entities.MetadataChannelID)
|
||||
if err != nil {
|
||||
@@ -122,7 +126,8 @@ func (h *SignalingHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) err
|
||||
},
|
||||
OnAudioFrame: func(data []byte, c entities.MediaFrameContext) error {
|
||||
// TODO: implement
|
||||
return nil
|
||||
// audioTrack
|
||||
return h.webRTCController.SendVideoSample(audioTrack, data, c)
|
||||
},
|
||||
})
|
||||
|
||||
@@ -137,7 +142,7 @@ func (h *SignalingHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) err
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *SignalingHandler) createAndValidateParams(w http.ResponseWriter, r *http.Request) (entities.RequestParams, error) {
|
||||
func (h *SignalingHandler) createAndValidateParams(r *http.Request) (entities.RequestParams, error) {
|
||||
if r.Method != http.MethodPost {
|
||||
return entities.RequestParams{}, entities.ErrHTTPPostOnly
|
||||
}
|
||||
|
||||
@@ -52,6 +52,10 @@ const setupWebRTC = (setRemoteSDPfn) => {
|
||||
// with auto play.
|
||||
pc.ontrack = function (event) {
|
||||
log("ontrack : " + event.track.kind + " label " + event.track.label);
|
||||
// it only creates a video tag element
|
||||
if (event.track.kind !== "video") {
|
||||
return
|
||||
}
|
||||
|
||||
const el = document.createElement(event.track.kind);
|
||||
el.srcObject = event.streams[0];
|
||||
|
||||
Reference in New Issue
Block a user