小编Sam*_*der的帖子

WebRTC本机,已添加AudioTrackSinkInterface进行跟踪,但从未调用OnData

我一直在研究使用WebRTC在浏览器和本机客户端之间交换音频的产品,本机端是用C ++实现的。目前,我已经构建了webRtc的最新稳定版本(分支:)branch-heads/65

到目前为止,我已经能够让连接对等体进行连接,可以在浏览器上正确接收并呈现音频。但是,尽管chrome调试工具建议将数据从浏览器发送到本机客户端,但本机客户端似乎从未通过其音频轨道接收器接收任何数据。

绝对调用以下代码,并按预期添加通道。

void Conductor::OnAddStream(rtc::scoped_refptr<webrtc::MediaStreamInterface> stream)
{

    webrtc::AudioTrackVector atracks = stream->GetAudioTracks();
    for (auto track : atracks)
    {
        remote_audio.reset(new Native::AudioRenderer(this, track));
        track->set_enabled(true);
    }
}

// Audio renderer derived from webrtc::AudioTrackSinkInterface
// In the audio renderer constructor, AddSink is called on the track.
AudioRenderer::AudioRenderer(AudioCallback* callback, webrtc::AudioTrackInterface* track) : track_(track), callback_(callback)
{
// Can confirm this point is reached.
    track_->AddSink(this);
}

AudioRenderer::~AudioRenderer()
{
    track_->RemoveSink(this);
}

void AudioRenderer::OnData(const void* audio_data, int bits_per_sample, int sample_rate, size_t number_of_channels,
        size_t number_of_frames)
{
// This …
Run Code Online (Sandbox Code Playgroud)

c++ webrtc

5
推荐指数
1
解决办法
615
查看次数

Azure Web 应用程序:Web 套接字在 100 秒后中止

我正在编写一个 Web 套接字应用程序,打算使用 Azure Web 应用程序在云上托管。

Web 套接字是使用相当标准的 Owin 中间件实现的,并且在前 100 秒内功能齐全。在这段时间之后,websocket 似乎像发条一样进入了 aborted 状态。

[CLIENT][06/04/2018 11:27:21] WS client connected
[CLIENT][06/04/2018 11:29:01] WS client disconnected
Run Code Online (Sandbox Code Playgroud)

在 IIS Express 实例上尝试此操作会出现相同的问题,尽管延迟似乎是 90 秒而不是 100 秒(这也是一致的)。

作为 Owin 自托管应用程序的一部分运行相同的 websocket 可以稳定运行超过 25 分钟 - 所以这肯定是由托管服务器引起的问题。

在Azure Web应用程序托管上,我启用了Web套接字,并尝试启用“始终开启”功能,希望这可以通过阻止服务器进入待机状态来防止问题 - 但这没有帮助。

是否有任何我不知道的天蓝色设置可以进行调整,以便这些网络套接字可以保持更长时间的打开状态?

非常感谢

c# owin azure-web-app-service

3
推荐指数
1
解决办法
732
查看次数

标签 统计

azure-web-app-service ×1

c# ×1

c++ ×1

owin ×1

webrtc ×1