无法从WebRTC流向Web音频上下文添加声相/空间音频

问题描述 投票:0回答:1

我想创建一个Web Audio声像器来定位WebRTC流中的声音。

我的流连接正常,可以听到音频并观看视频,但是全景声对音频没有任何影响(将panner.setPosition(10000,0,0)更改为+或-10000,对声音)。

这是onaddstream函数,其中音频和视频通过管道传递到视频元素中,并且我想我需要添加全景声。

没有错误,只是根本没有平移。

我在做什么错?

谢谢!

  peer_connection.onaddstream = function(event) {

        var AudioContext = window.AudioContext || window.webkitAudioContext;
        var audioCtx = new AudioContext();

        audioCtx.listener.setOrientation(0,0,-1,0,1,0)

        var panner = audioCtx.createPanner();
        panner.panningModel = 'HRTF';
        panner.distanceModel = 'inverse';
        panner.refDistance = 1;
        panner.maxDistance = 10000;
        panner.rolloffFactor = 1;
        panner.coneInnerAngle = 360;
        panner.coneOuterAngle = 0;
        panner.coneOuterGain = 0;

        panner.setPosition(10000, 0, 0); //this doesn't do anything

        peerInput.connect(panner);
        panner.connect(audioCtx.destination);


        // attach the stream to the document element
        var remote_media = USE_VIDEO ? $("<video>") : $("<audio>");
        remote_media.attr("autoplay", "autoplay");
        if (MUTE_AUDIO_BY_DEFAULT) {
            remote_media.attr("muted", "false");
        }
        remote_media.attr("controls", "");
        peer_media_elements[peer_id] = remote_media;
        $('body').append(remote_media);
        attachMediaStream(remote_media[0], event.stream);



  }
javascript webrtc web-audio-api
1个回答
0
投票

尝试在设置声像器之前获取事件流

  var source  = audioCtx.createMediaStreamSource(event.stream);

参考:Mozilla Developer Network - AudioContext

CreatePaneer参考:Mozilla Developer Network - createPanner

© www.soinside.com 2019 - 2024. All rights reserved.