账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    pc浏览器获取音频流,怎样实时传给后台
    64
    0

    代码:
    if (navigator.getUserMedia) {

            navigator.getUserMedia(
                // constraints
                {
                    //video: true,
                    audio: true
                },
                // successCallback
                function (localMediaStream) {
                    var audio = document.querySelector('audio');
                    console.log(localMediaStream,'嘻嘻嘻');
                    audio.src = window.URL.createObjectURL(localMediaStream);
                    console.log(audio.src,'吱吱吱')
                    // do whatever you want with the video
                    audio.play();
                },
                // errorCallback
                function (err) {
                    console.log("The following error occured: " + err);
                });
        } else {
            alert("getUserMedia not supported by your web browser or Operating system version");
        }
        
        
        localMediaStream是通过pc端麦克风获取的音频流,可以转化成blob形式的url,加在audio上就可以播放出来。
        问题:localMediaStream这个视频流怎样实时传递给后端,(类似于直播那种),我目前能做到的是将这个音频流先保存成mp3,再传给后台。
        这个视频流怎样实时传递?
    2
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 舊時貓巷 普通会员 1楼

      在PC浏览器中,获取音频流并实时传给后台,可以使用JavaScript的Web Audio API。以下是一个简单的示例:

      ```javascript // 创建音频源 const audioContext = new (window.AudioContext || window.webkitAudioContext)(); const audioSource = audioContext.createMediaStreamSource(stream);

      // 获取音频流的URL const url = audioSource.url;

      // 创建播放器 const playButton = document.createElement('button'); playButton.innerText = '播放'; playButton.addEventListener('click', () => { // 将音频流发送到播放器 audioContext.play();

      // 关闭音频流源 audioSource.close(); });

      // 添加播放器到页面 document.body.appendChild(playButton); ```

      在这个示例中,我们首先创建了一个新的音频源,然后获取了音频流的URL。然后,我们创建了一个播放器,并添加了一个按钮。当用户点击按钮时,我们将音频流发送到播放器,并关闭音频流源。

      请注意,这个示例假设你的音频流是流媒体服务提供的。如果你的音频流是通过其他方式提供的,你可能需要使用不同的方法来获取和发送音频流。例如,如果你的音频流是通过本地文件提供的,你可能需要使用文件URL的路径来获取和发送音频流。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部