【问题标题】:Create Native Client MediaStreamVideoTrack and send to javascript创建本机客户端 MediaStreamVideoTrack 并发送到 javascript
【发布时间】:2015-10-12 14:08:44
【问题描述】:

根据Native Client MediaStreamVideoTrack 的文档,有一个构造函数“构造一个 MediaStreamVideoTrack,将给定的帧输出到一个新的视频轨道,这将由 Javascript 使用。”

然后我的想法是将帧放入此视频轨道,稍后可以通过 javascript 在视频标签中显示或传递给 RTCPeerConnection。

我不知道这样做是否正确,但 PostMessage 的文档指出应该支持传递资源。但是使用下面的简单 Native Client 代码,我只会在浏览器控制台中收到警告:“无法将 PostMessage 参数从 PP_Var 转换为 Javascript 值。它可能有循环或属于不受支持的类型。”

virtual void HandleMessage(const pp::Var& var_message) {
    if (!var_message.is_dictionary()) {
      LogToConsole(PP_LOGLEVEL_ERROR, pp::Var("Invalid message!"));
      return;
    }

    pp::VarDictionary var_dictionary_message(var_message);
    std::string command = var_dictionary_message.Get("command").AsString();

    if (command == "create_track") {
      pp::MediaStreamVideoTrack video_track = pp::MediaStreamVideoTrack::MediaStreamVideoTrack(this);
      pp::VarDictionary dictionary;
      dictionary.Set(pp::Var("track"), pp::Var(video_track));
      PostMessage(dictionary);
    }
}

我做错了什么,还是不只是支持? :)

【问题讨论】:

    标签: google-nativeclient


    【解决方案1】:

    【讨论】:

    • 好的,由于只能从 getUserMedia 创建流/轨道,我将无法操作轨道,因为它已经被相机流填充了......:\
    • 我想在 MediaStreamVideoTrack 中渲染一个 mp4 文件,可以吗?如果可能怎么办?我调用了哪个方法 MediaStreamVideoTrack ?
    猜你喜欢
    • 1970-01-01
    • 2015-03-13
    • 2021-02-25
    • 2019-04-17
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    相关资源
    最近更新 更多