标签: google-nativeclient

是否有使用Mono编译C#代码的示例,以便exe可以使用Google的本机客户端支持运行?

我找到了一份新闻稿,声明Mono现在支持本机客户端的编译.目前还不清楚这是仅可以从单独的github mono fork获得,还是作为标准发行版的一部分提供.

我已经构建了分叉单声道发行版,但是我无法找到有关如何构建本机客户端可执行文件的任何示例,以便我可以在Chrome中运行它.

有人知道一个示例项目,或者您能提供一个如何为NaCl构建Mono应用程序的示例吗?

mono google-nativeclient

8
推荐指数
1
解决办法
2257
查看次数

Google Native Client,将二进制数据从NACL端发送到前端Javascript

如何将二进制数据egmp3/mp4数据发送回前端Javascript端?

我知道有两种方法可以实现:利用NACL提供的沙盒文件系统并获取前端的url; 通过mp3/mp4使用传递数据PostMessage().如果有人能给我一个如何传递二进制数据的简单例子,那就太好了VarArrayBuffer.NACl FileSystem API有一个Pong示例,但我对如何将文件位置检索为url感到困惑,以便前端js可以通过消息获取它.

这是我到目前为止所做的,使用第二种方法传递数据PostMessage()PostMessage():

  • 我成功地从在线mp4文件中检索数据并将其存储在char矢量中VarArrayBuffer.

  • 将数据转储到新的char缓冲区并创建vector<char> outputBuffer以保存数据并将其传递给JS端

    char* binaryBuffer = new char[outputBuffer.size()];
    int increment = 0;
    for (vector<char>::iterator it = outputBuffer.begin(); 
         it != outputBuffer.end(); it++) {
         binaryBuffer[increment] = *it;
    }
    
    pp::VarArrayBuffer outBuffer(binaryBuffer);
    instance_->PostMessage(outBuffer);//instance_ is a NACL module instance
    
    Run Code Online (Sandbox Code Playgroud)

那么,JS方面应该如何捕获数组缓冲区?通过VarArrayBuffer还是其他什么?谢谢.

javascript c++ arrays google-nativeclient

8
推荐指数
0
解决办法
1391
查看次数

使<object>标记填满整个窗口并使用它调整大小

我有一个适用于Chrome的NaCl插件,我想填满整个窗口.HTML是这样的:

<!DOCTYPE html>
<html>
  <head></head>
  <body>
    <div class="container,box">
      <object class="internal,box"></object>
    </div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我尝试了几种风格:

  1.     html {
          height: 100%;
        }
        .box {
          position:absolute;
          left/right/top/bottom: 0;
          display:block;
          padding: 5px
        }

    填充整个窗口,保持默认大小300x150.

  2.     html, body, .box { padding: 0; border: 0; margin: 0; width: 100%; height: 100% }
        .container { padding: 5px; } 

    填充整个窗口,但它的宽度/高度不受填充的影响,因此溢出包含

有没有人面临类似的问题?任何CSS解决方案?我需要它才能在Chrome中使用.

html css google-chrome google-nativeclient

8
推荐指数
1
解决办法
2万
查看次数

什么是NaCl Socket API?

我发现了它,chrome://flags/但我真的不知道这是什么.我在网上搜索了很多,但我没有找到任何东西.

javascript sockets google-chrome websocket google-nativeclient

7
推荐指数
1
解决办法
6751
查看次数

Chrome本机客户端可以执行javascript无法执行的任何操作吗?

我对Chrome中本机客户端的实用程序感到困惑,除了使用您选择的语言并运行得更快.

可以在javascript中无法在本机客户端完成任何事情吗?无论如何,我的意思是功能,而不是更好/更快的方式做同样的事情.例如,javascript无法打开UDP套接字,但本机客户端可以.

javascript google-chrome google-nativeclient

7
推荐指数
1
解决办法
319
查看次数

avformat_open_input返回值,NaCl模块上的错误代码

我正在尝试将FFmpeg移植到我的NaCl模块中.

到目前为止,我的模块链接了ffmpeg和SDL库.

它已经可以播放YUV格式的视频,它被定向加载到内存中并复制到YUVOverlay缓冲区(这很容易).

现在,我想使用ffmpeg来解码视频,但是当我调用函数avformat_open_input时,它会-5在输入为URL字符串时返回,例如rtmp://mmsh://; -1052488119输入是文件名时返回,例如/saved/tmp(我挂载文件系统--html5fs).


有一些问题:

  1. 什么意思-5和-1052488119?
  2. 如果文件无法打开avformat_open_input,是有可能的输入类型是从缓冲区 不是文件名URL字符串

如果我不清楚我的问题或描述,你可以告诉我.如果您正在做同样的事情或遇到同样的问题,我们可以一起讨论.

谢谢,Jar

ffmpeg google-nativeclient

6
推荐指数
1
解决办法
3805
查看次数

如何在我的网站上使用Chrome扩展功能(NaCl)?

我有一个网站和谷歌浏览器扩展程序.扩展使用NaCl API(JavaScript)从用户的计算机写入/读取文件(C++).

我的问题是:我可以在我的网站中加载我的扩展程序,例如,在iFrame中保存其功能吗?

我试图这样做,但它只加载扩展"视觉"部分.写/读(NaCl)功能不起作用.

一个更好地解释我想做的事情的例子:

它实际上是这样工作的: 在此输入图像描述

我想这样做: 在此输入图像描述

或者另一种方式,但我认为这不可能,是吗? 在此输入图像描述

可能吗?我该怎么做?

编辑

这是代码:

在manifest.json中,我把它放在:

"externally_connectable": {
    "matches": ["http://www.example.com/index.html"]
},

"web_accessible_resources": [
    "/*"
],
"content_scripts" : [
    {
        "matches" : ["http://www.example.com/index.html"],
        "js": ["index.js"]
    }
],
Run Code Online (Sandbox Code Playgroud)

我的网站的iframe:

<iframe src="chrome-extension://myextensionid/index.html"></iframe>
Run Code Online (Sandbox Code Playgroud)

在我的扩展index.js文件中,只有两个按钮.它们的函数(JavaScript)与.cc文件(通过NaCl)进行通信,以将字符串保存或加载到计算机上的文件中.

正如我所说,扩展工作正常,但当我尝试通过iframe在我的网站加载它时,它只加载html(可视).只要JS使用NaCl调用C++函数,JavaScript就不会加载C++.

有解决方案吗

javascript c++ google-chrome google-chrome-extension google-nativeclient

6
推荐指数
1
解决办法
991
查看次数

配置时Chromium ARC编译出错

当我按照Linux上的ARC开源入门指令的第4步时,出现如下错误.操作系统是在Hyper-V中运行的Ubuntu 14.04 LTS.

UBUNTU14:〜/ arc $ ./configure
错误:root:运行['third_party/tools/depot_tools/third_party/gsutil/gsutil','cp','gs:// arc-build/naclports/builds/pepper_40/python .zip','/ tmp/tmpUZ0IoK/naclports-python']错误:root:GSResponseError:status = 403,code = None,reason = Forbidden.

错误:root:尝试prodaccess,如果它没有解决问题,请尝试rm~/.devstore_token @@@ STEP_WARNINGS @@@错误:root:9秒后重试Traceback(最近一次呼叫最后一次):文件"/ home/fkiller/arc/src/build/build_common.py",第938行,包装返回函数(*args,**kwargs)文件"/home/fkiller/arc/src/build/util/download_package_util.py",第243行在_download_package_with_retries self._download_method(URL,download_package_path)文件 "/home/fkiller/arc/src/build/util/download_package_util.py",线路119,资讯_点击下载build_common.get_gsutil_executable(), 'CP',URL,destination_path可] )文件"/home/fkiller/arc/src/build/util/download_package_util.py",第97行,在execute_subprocess中输出= subprocess.check_output(cmd,cwd = cwd,stderr = subprocess.STDOUT)文件"/ usr/lib /python2.7/subprocess.py",线路573,在check_output提高CalledProcessError(RETCODE,CMD,输出=输出)CalledProcessError:命令 '[' THIRD_PARTY /工具/ depot_tools/THIRD_PARTY /的gsutil/gsutil会 ' 'CP',' GS://弧-BU ild/naclports/builds/pepper_40/python.zip','/ tmp/tmpUZ0IoK/naclports-python']'返回非零退出状态1

有没有想过解决这个问题而不改变构建脚本?我可以从其他来源手动指向python.zip,例如https://naclports.storage.googleapis.com/builds/pepper_40/trunk-147-g49eb4c9/publish/python/pnacl/python.zip,但我想构建它就像没有改变脚本一样.

我已经尝试设置gsutil及其身份验证器,但它没有解决问题.

编辑:在@elijah-taylor修复ACL后,现在我收到错误

回溯(最近一次调用最后一次):文件"src/build/configure.py",第365行,在sys.exit(main())文件"src/build/configure.py",第347行,在主_gclient_sync_third_party()中文件"src/build/configure.py",第132行,在_gclient_sync_third_party subprocess.check_output(cmd,cwd = os.path.dirname(gclient_filename))文件"/usr/lib/python2.7/subprocess.py",行566,在check_output进程中= Popen(stdout = PIPE,*popenargs,**kwargs)文件"/usr/lib/python2.7/subprocess.py",第710行,在init errread中,errwrite)文件"/ usr/lib /python2.7/subprocess.py",第1327行,在_execute_child中引发child_exception OSError:[Errno 2]没有这样的文件或目录

在132行,

  File "src/build/configure.py", line 132, in _gclient_sync_third_party
    subprocess.check_output(cmd, cwd=os.path.dirname(gclient_filename))
Run Code Online (Sandbox Code Playgroud)

gclient_filename是"third_party/.gclient",os.path.dirname(gclient_filename)是"thrid_party".

android chromium google-nativeclient ubuntu-14.04 google-chrome-arc

6
推荐指数
1
解决办法
208
查看次数

Microsoft的ActiveX和Google的Native Client有什么区别?

Microsoft的ActiveX和Google的Native Client都允许您构建在浏览器中执行本机编译代码的Web应用程序.除了它们在不同的浏览器和操作系统上运行之外,它们之间的技术差异是什么?

activex google-nativeclient

5
推荐指数
2
解决办法
1381
查看次数

将c ++游戏移植到网络的最佳方式

我意识到上面的问题相当广泛,所以我会缩小范围.我有一个简单的opengl c ++游戏引擎,它位于一个静态库中(可以转换为动态库).

我一直在想办法让它在网上运行.从我所看到的,我可以使用ActiveX或Google NaCl在浏览器中运行c ++代码.但这些技术似乎并不容易跨平台?或许我误解了.

我看到的另一个选择是将引擎转换为javascript和WebGL并在HTML5画布中运行.这会比c ++慢吗?但这将是非常跨平台的.

您认为最好的选择是什么,或者更好的是我还有其他选择吗?

编辑:类似于团结网络播放器的自定义插件怎么样?

javascript c++ html5 activex google-nativeclient

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