我有一个来自webrtc的mediaStream对象,并且想要播放它。我从另一端从一个在线源(例如"http://songs.ca/track1.mp3“)发送流,我得到了这个MediaStream对象:
MediaStream { id: "{3ac77543-657a-4b31-a490-8e6811d96fec}", active: true, onaddtrack: null, onremovetrack: null }
active: true
id: "{3ac77543-657a-4b31-a490-8e6811d96fec}"
onaddtrack: null
onremovetrack: null
<prototype>: MediaStreamPrototype { getAudioTracks: getAudioTracks(), getVideoTracks: getVideoTracks(), getTracks: getTracks(), … }
active:
addTrack: function addTrack()
clone: function clone()
constructor: function ()
getAudioTracks: function getAudioTracks()
getTrackById: function getTrackById()
getTracks: function getTracks()
getVideoTracks: function getVideoTracks()
id:
onaddtrack:
onremovetrack:
removeTrack: function removeTrack()
Symbol(Symbol.toStringTag): "MediaStream"
<get active()>: function active()
<get id()>: function id()
<get onaddtrack()>: function onaddtrack()
<set onaddtrack()>: function onaddtrack()
<get onremovetrack()>: function onremovetrack()
<set onremovetrack()>: function onremovetrack()
<prototype>: EventTargetPrototype { addEventListener: addEventListener(), removeEventListener: removeEventListener(), dispatchEvent: dispatchEvent(), … }
我怎么能听这个声音?
我似乎不能播放这个媒体流,我已经隔离了代码,只生成一个媒体流并播放它
const AudioContext = window.AudioContext || window.webkitAudioContext;
const audioCtx = new AudioContext();
var ans = "http://live.hbstreaming.com:2370/stream"
document.getElementById("plyaudi").setAttribute('src', `${ans}`);
const audioElement = document.querySelector('audio');
const track = audioCtx.createMediaElementSource(audioElement);
var destination = audioCtx.createMediaStreamDestination()
track.connect(destination);
console.log(destination.stream)
const playButton = document.querySelector('.btn');
playButton.addEventListener('click', function() {
if (audioCtx.state === 'suspended') {
audioCtx.resume();
}
const audio = new Audio();
audio.autoplay = true;
audio.srcObject = destination.stream
}, false);
它还是不能用
发布于 2022-04-12 09:10:20
您可以创建一个audio
元素并将您的MediaStream
指定为srcObject
。有几种方法可以做到这一点;下面是一个例子:
const audio = new Audio();
audio.autoplay = true;
audio.srcObject = mediaStream;
https://stackoverflow.com/questions/71839758
复制相似问题