我在为我的网站创建有效的google驱动器API时遇到问题.我可能听起来像一个完整的菜鸟,但我在我的主ftp目录中创建了一个名为quickstart.html的文件,并复制并粘贴了https://developers.google.com/drive/quickstart-js#step_1_enable_the_drive_api中的代码并替换了客户端id与我的客户端ID,并在我的设置中我将Javascript起源URL设置为我的主URL(www.domainname.com),我有一个单独的索引页面,所以要访问谷歌驱动器,我只是去http: //domainname.com/quickstart.html?因为当我这样做并单击"授权"时,我得到谷歌Origin Mismatch错误.有人可以帮我吗?
我见过的官方教程以及这一个展示如何从源代码和编辑它与Visual Studio等构建Python,但我怎么淋巴结GYP构建它使用它作为节点的本地应用程序?
例如,在教程中,他们告诉您下载源代码,然后(在 Windows 中)输入该目录:
"PCbuild/build.bat"
Run Code Online (Sandbox Code Playgroud)
然后构建 Visual Studio 解决方案和 python 等,但现在我如何使用 node-gyp 来做到这一点?通常,要包含要使用 node-gyp 构建的外部依赖项,您只需将它们包含在 binding.gyp 文件中。对于 python,我首先将 64 位(后来是 32 位,与下面相同的错误)python 安装到 C:/Python382,然后我将该文件夹复制到我的 C++ 应用程序中的另一个文件夹,并将 binding.gyp 文件设置为此(获取包含和库):
{
"targets": [
{
"target_name": "addon",
"sources": [
"<!@(node -p \"var fs=require('fs'),path=require('path'),walk=function(r){let t,e=[],n=null;try{t=fs.readdirSync(r)}catch(r){n=r.toString()}if(n)return n;var a=0;return function n(){var i=t[a++];if(!i)return e;let u=path.resolve(r,i);i=r+'/'+i;let c=fs.statSync(u);if(c&&c.isDirectory()){let r=walk(i);return e=e.concat(r),n()}return e.push(i),n()}()};walk('./sources').join(' ');\")"
],
"libraries":[
"C:/Users/Coby/Documents/aa/atzmus/CPPtesting/other/ok/Python382/libs/python38.lib",
"C:/Users/Coby/Documents/aa/atzmus/CPPtesting/other/ok/Python382/libs/python3.lib",
"C:/Users/Coby/Documents/aa/atzmus/CPPtesting/other/ok/Python382/libs/_tkinter.lib"
],
"include_dirs": [
"C:/Users/Coby/Documents/aa/atzmus/CPPtesting/other/ok/Python382/include"
],
"dll_files": [
"C:/Users/Coby/Documents/aa/atzmus/CPPtesting/other/ok/Python382/python38.dll"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
和我的 …
众所周知,一般来说,JavaScript 允许以下格式的内联 for 循环:
someArray.forEach(x => x.doSomething());
Run Code Online (Sandbox Code Playgroud)
然而,当一个人想要使用常规的 for 循环内联作为一个语句时,就会发生错误。例如:
void(for(var i = 0; i < 0; i++) console.log(i));
Run Code Online (Sandbox Code Playgroud)
尽管这在技术上是一行,但由于它以字面上内联的格式使用,并且被视为一条语句,因此它会给出错误:
未捕获的语法错误:意外的标记“for”
为什么有人想要这样做?简单:为了在一行中生成一个数组或字符串,例如:
var newString = (let k = "", for(let i = 0; i < 1000; i++) k+= i, k);
Run Code Online (Sandbox Code Playgroud)
但这给出了一个明显的
未捕获的语法错误:意外的标识符
错误,因为“let”关键字,但这是一个不同的问题。
主要是,是否可以在 JavaScript 中内联常规 for 循环?
我见过很多关于设置 Node.js 以使用预先存在的 SMTP 服务器的博客和 Stack Overflow 问题,特别是通过像 nodemailer 等模块。我已经看到的一些内容:
https://www.zeolearn.com/magazine/sending-and-receiving-emails-using-nodejs
在 Node.js 中发送电子邮件?(不知道为什么关闭)
Nodemailer 无需 smtp 传输即可发送电子邮件——这与我想要的有点接近
如何在 Nodejs 中创建自定义 smtp 服务器来发送通知电子邮件?——这个问题如此接近却没有答案
SmtpJs API 不工作!有没有办法通过 JavaScript 或 JQuery 使用 SMTP 服务器发送电子邮件
/对nodejs中的smtp邮件服务器有什么建议吗?-- 这可能是唯一一个甚至试图回答这个问题的人,尽管从那里提到的服务(smtp-服务器)的文档中,我看不到 SMTP 服务器从头开始的实际构造在哪里,即我没有看到展示如何使用 Node.js 创建自己的 myemail@mydomain.com 的部分(假设服务器配置在某种 Linux VM 上,例如 Google 计算引擎)。
所有这些答案和博客仅解决通过其他电子邮件客户端发送电子邮件的问题。
我对任何其他电子邮件服务器不感兴趣。
我不相信 Gmail,也不相信任何其他第三方电子邮件提供商。我想从我自己的服务器托管我自己的服务器。 …
我刚刚开始使用新的搅拌机导出器在此处测试 THREE.js 中的 GLTFLoader ,并且我能够添加具有(至少相同颜色)材质的模型,并且当我将导入的场景添加到 THREE.js 场景时,网格导入得很好,当我将它登录到控制台时,我还看到了来自默认搅拌机场景的相机和灯光。
但是,我必须手动添加一个 THREE.js 灯才能看到任何东西,因此似乎导入的灯只能识别为 3D 对象。有什么方法可以让导入的灯光自动工作,还是必须以编程方式在导入的“灯光”对象的位置添加 THREE.js 灯光?如果是这样,有没有办法匹配来自搅拌机的太阳光和点光源,并使它们面向正确的方向?或者是否有一些内置的方法来做到这一点?
顺便说一句,这是我必须做的代码(仍然没有添加所有灯光支持):
function automaticallyAddLightsTo(inputScene) {
inputScene.children.forEach((x) => {
var light = new THREE.DirectionalLight( 0xffffff, 0),//placeholder
isActuallyALight = false;
if(x.name.includes("Sun")) {
light = new THREE.DirectionalLight( 0xffffff, 1);
isActuallyALight = true;
} else if(x.name.includes("Point")) {
light = newTHREE.PointLight( 0xffffff, 1, 100);
isActuallyALight = true;
} //etc for other lights
light.position.copy(x.position);
light.rotation.copy(x.rotation);
light.scale.copy(x.scale);
light.quaternion.copy(x.quaternion);
if(isActuallyALight)
s.add(light);
});
}
Run Code Online (Sandbox Code Playgroud)
但我如何检测强度?
我在 NODEjs 中有一个缓冲区形式的图像,我想调整它的大小。
理论上这应该能够在nodeJS中完成,因为我可以访问包含所有像素数据的缓冲区。
我已经在很多地方找到了一种使用 NATIVE(仅限!)nodejs 调整图像大小的简单方法,没有外部库,但我只找到了使用库的解决方案:https: //www.npmjs.com/package/gm
Node.js:无需 ImageMagick 即可调整图像大小 在 Node.js 中调整图像大小的简单方法?
使用 Nodejs 和 Imagemagick 调整图像大小
Node.js:不使用 ImageMagick 调整图像大小
使用 jimp 在 Node.js 中调整图像大小并获取新图像的路径
但所有这些解决方案都使用某种库,但我只想使用普通的 NodeJS。
我可以用缓冲区读取像素,所以我应该能够编写一个调整大小的缓冲区,就像这个 C++ 线程http://www.cplusplus.com/forum/general/2615/和许多其他线程一样,只需循环像素并调整它的大小..
我发现这个问题Resizing an image in an HTML5 canvas,它使用纯客户端JavaScript实现了图像调整大小,而不依赖于画布drawImage来调整它的大小(仅获取图像数据),这是他使用的代码:
function lanczosCreate(lobes) {
return …Run Code Online (Sandbox Code Playgroud) 我见过像waveform.js这样的东西,它使用Web Audio API来显示波形数据,还有许多其他工具可以用JavaScript分析音频文件的确切声音点。
如果是这样,应该可以使用这种分析能力来使用 JavaScript 进行实时口型同步,即通过简单地使用音频上下文,让动画角色在用户说话的同时说话,以及阅读数据点一些如何找到正确的声音。
所以问题变成了,更具体地说:
我如何准确地分析音频数据以提取在特定时间戳发出的确切声音?
我想获得类似Rhubarb Lip Sync的最终结果,除了 JavaScript,而且是实时的。不一定要精确,但要尽可能接近。
我正在关注一篇关于从头开始编写套接字服务器的文章,它主要使用小框架/包,但是当我尝试发送大约 2kb 的数据时,出现此错误:.
internal/buffer.js:77
throw new ERR_OUT_OF_RANGE(type || 'offset',
^
RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 7. Receive
d 8
at boundsError (internal/buffer.js:77:9)
at Buffer.readUInt8 (internal/buffer.js:243:5)
at pm (/home/users/me/main.js:277:24)
at Socket.<anonymous> (/home/users/me/main.js:149:15)
at Socket.emit (events.js:315:20)
at addChunk (_stream_readable.js:297:12)
at readableAddChunk (_stream_readable.js:273:9)
at Socket.Readable.push (_stream_readable.js:214:10)
at TCP.onStreamRead (internal/stream_base_commons.js:186:23) {
code: 'ERR_OUT_OF_RANGE'
}
Run Code Online (Sandbox Code Playgroud)
这是我的服务器代码(为了安全起见,更改了一些细节,但这里是行号等的全部内容),但这里的相关部分是函数 pm [=parseMessage](朝底部):
let http = require('http'),
ch = require("child_process"),
crypto = require("crypto"),
fs …Run Code Online (Sandbox Code Playgroud) 众所周知,通过简单地检索可以直接下载任何文件(任何大小)的 Google API 密钥(甚至将视频嵌入网站等),问题是:当在形式:
https://www.googleapis.com/drive/v3/files/### fileId ###?alt=media&key=### API 密钥 ### 插入文件 ID 和 API 密钥。
如果我想嵌入一个已经是 .mp4 格式的视频,这可以工作,但是如果我想将 .mpg 视频嵌入到 HTML 网站:默认情况下,.mpg 格式是不可嵌入的,但它知道Google Drive 会自动将其所有视频文件转换为可在浏览器中播放的各种格式,因此:
如何访问 Google Drive 中视频的不同视频格式?最好,我正在寻找一种编程方式来获取它(如 Node.js 或 PHP)。
我正在尝试使用 ffmpeg 制作实时录像机(不是屏幕录像机,特定尺寸的统一播放器录像机)
我能够获取 ARGB 数据,到目前为止,我一直将其写入一堆 bmp,然后运行 ffmpegs concat 命令,例如
ffmpeg -i files.txt -i pictures/pic%06d.bmp output.mp4
使用不同的编解码器等,我的 files.txt 本质上是(伪)
ffconcat version 1.0 file pic000000.bmp duration 0.016 #etc, basically the durations were generated from time stamps
无论如何,不管你信不信,所有作品都将文件作为 bmp 写入磁盘(或者甚至将它们编码为压缩格式,然后将其写入磁盘)会占用大量额外时间,我更愿意将数据直接通过管道传输到 ffmpeg
我知道在某些情况下,您可以使用运算符输入文件-,然后在任何编程语言中,价格都是从通过标准输入传递字节数据开始的,我很确定,尽管问题是:
我只能找到如何使用设定的帧速率来做到这一点,但不能使用 concat,而且我(认为?)我需要在这里使用 concat,因为图像在主体上有准确的时间戳非常重要与音频对齐,因为捕获帧时会有轻微的延迟,到目前为止,我一直在根据时间戳计算每个帧的持续时间(最后一个没有持续时间),以便将它们与音频,但据我所知,连接功能似乎要求文件已写入磁盘,然后在文本文件中指定。
那么有没有什么方法可以为每个帧获取自定义帧速率,而无需先将帧写入磁盘,然后将它们通过管道传输呢?concat 以任何方式支持吗-?还有其他方法可以将帧与音频对齐吗?其他视频录制软件是否也遇到类似问题?