Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejs
themeRDark
    Flashphoner.getMediaDevices(null, true, MEDIA_DEVICE_KIND.OUTPUT).then(function (list) {
        list.audio.forEach(function (device) {
            ...
        });
    }).catch(function (error) {
        $('#audioOutputForm').remove();
    });

Отображение WebRTC-статистики

При публикации и воспроизведении потока WCS передает WebRTC-статистику в соответствии со стандартом. Эта статистика может быть отображена в браузере, например:

Image Added

Отметим, что в браузере Safari отображается только статистика аудио.

1. Отображение статистики при публикации потока

stream.getStats() code:

Code Block
languagejs
themeRDark
    publishStream.getStats(function (stats) {
        if (stats && stats.outboundStream) {
            if(stats.outboundStream.videoStats) {
                $('#outVideoStatBytesSent').text(stats.outboundStream.videoStats.bytesSent);
                $('#outVideoStatPacketsSent').text(stats.outboundStream.videoStats.packetsSent);
                $('#outVideoStatFramesEncoded').text(stats.outboundStream.videoStats.framesEncoded);
            } else {
                ...
            }

            if(stats.outboundStream.audioStats) {
                $('#outAudioStatBytesSent').text(stats.outboundStream.audioStats.bytesSent);
                $('#outAudioStatPacketsSent').text(stats.outboundStream.audioStats.packetsSent);
            } else {
                ...
            }
        }
    });

2. Отображение статистики при воспроизведении потока

stream.getStats() code:

Code Block
languagejs
themeRDark
    previewStream.getStats(function (stats) {
        if (stats && stats.inboundStream) {
            if(stats.inboundStream.videoStats) {
                $('#inVideoStatBytesReceived').text(stats.inboundStream.videoStats.bytesReceived);
                $('#inVideoStatPacketsReceived').text(stats.inboundStream.videoStats.packetsReceived);
                $('#inVideoStatFramesDecoded').text(stats.inboundStream.videoStats.framesDecoded);
            } else {
                ...
            }

            if(stats.inboundStream.audioStats) {
                $('#inAudioStatBytesReceived').text(stats.inboundStream.audioStats.bytesReceived);
                $('#inAudioStatPacketsReceived').text(stats.inboundStream.audioStats.packetsReceived);
            } else {
                ...
            }
        }
    });

Известные проблемы

1. Не работает переключение микрофона в браузере Safari.

Симптомы: не переключается микрофон при помощи метода switchMic() WCS WebSDK.

Решение: использовать другой браузер, поскольку Safari всегда использует микрофон sound input, выбранный в настройках звука системы sound menu (для входа необходимо зажать клавишу Option (Alt) и щелкнуть по иконке звука в меню). После выбора другого микрофона в sound menu требуется перезагрузка Mac.

Если не работает микрофон Logitech USB camera (когда выбран в sound input), может помочь изменение format / sample rate в Audio MIDI Setup и перезагрузка.