小编gre*_*sin的帖子

Meteor DOMException:无法解码音频数据

编辑:我刚刚创建了一个新的流星项目,它工作:D哇.但它仍然无法在我的核心项目上工作..看起来像我有不同的设置.

在我的Meteor.js项目中,我有4个.mp3文件位于public/sounds/xyz.mp3.我加载这些.mp3:

 let soundRequest = new XMLHttpRequest();
    soundRequest.open('GET', this._soundPath, true);
    soundRequest.responseType = 'arraybuffer';
    let $this = this;
    soundRequest.onload = function () {
        Core.getAudioContext().decodeAudioData(soundRequest.response, function (buffer) {
            $this.source.buffer = buffer;
            $this.source.loop = true;
            $this.source.connect($this.panner);
        });
    };
soundRequest.send();
Run Code Online (Sandbox Code Playgroud)

这个工作google Chrome,但当我通过构建应用程序时meteor run android-device,我收到以下错误消息:DOMException: Unable to decode audio data 我想知道这是一个错误,因为加载.png.jpg在移动版本中工作得很好.我没有安装任何软件包,meteor add crosswalk但卸载这也没有帮助.

javascript audio cordova meteor

9
推荐指数
2
解决办法
926
查看次数

在Python中从kd-Tree中删除root

对于刚接触python的人,我不明白如何从递归函数中删除类的实例.

考虑一下kd树的代码:

def remove(self, bin, targetAxis=0, parent=None):
  if not self:
    return None
  elif self.data.x == bin.x and self.data.y == bin.y: 
    if self.rightNode:
      self.data = self.rightNode.findMin((targetAxis+1)% KdSearch.DIMENSION)
      self.rightNode = self.rightNode.remove(self.data, (targetAxis+1)% KdSearch.DIMENSION,self)
    elif self.leftNode:
      self.data = self.leftNode.findMin((targetAxis+1)% KdSearch.DIMENSION)
      self.rightNode = self.leftNode.remove(self.data, (targetAxis+1)% KdSearch.DIMENSION,self)
    else:
      if not parent is None:
        #get direction if child....
        if not parent.leftNode is None:
          if parent.leftNode.data.x == bin.x and parent.leftNode.data.y == bin.y:
            parent.leftNode=None

        if not parent.rightNode is None:
          if parent.rightNode.data.x == bin.x and parent.rightNode.data.y == …
Run Code Online (Sandbox Code Playgroud)

python kdtree

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

实现中心预加载器

鉴于这种 :

.loader {
  position:fixed;
  top:50%;
  left:50%;
  -webkit-transform:translate(-50%,-50%);
}
Run Code Online (Sandbox Code Playgroud)

我想用这个预加载器position:fixed和中心.所以我做的是:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.6/css/materialize.min.css">
<body>
  <div class="preloader-wrapper big active loader">
    <div class="spinner-layer spinner-blue-only">
      <div class="circle-clipper left">
        <div class="circle"></div>
      </div><div class="gap-patch">
        <div class="circle"></div>
      </div><div class="circle-clipper right">
        <div class="circle"></div>
      </div>
    </div>
  </div>
</body>
Run Code Online (Sandbox Code Playgroud)

导致动画: - /

http://jsfiddle.net/kqjy7jbb/6/

html css materialize

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

WebXR 打字稿支持

我想尝试使用 webxr 并设置一个打字稿项目。根据WebXR

我应该做以下事情:

const supported = await navigator.xr.isSessionSupported('immersive-vr');
Run Code Online (Sandbox Code Playgroud)

我的打字稿设置navigator.xr显示为错误。 在此输入图像描述 在此输入图像描述

我想知道如何为webxr. 我的tsconfig看起来像这样:

{
    "compilerOptions": {
        "outDir": "./dist/",
        "noImplicitAny": true,
        "module": "esNext",
        "target": "es6",
        "allowJs": true,
        "moduleResolution": "node"
    },
    "exclude": [
        "./node_modules"
    ],
}
Run Code Online (Sandbox Code Playgroud)

typescript webxr

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

使用WebGL进行音频空间化

我目前正在开发一个小项目,在那里我使用WebGL渲染CubeMap,然后使用"web audio API" Web Audio API应用一些声音

编辑:实例

由于项目非常庞大,我只想解释一下我在寻找什么.当我加载音频文件时,声音变得可视化(看起来像一个立方体).音频监听器位置始终位于位置0,0,0.什么是迄今为止我所做的是我创建"相机"(GL数学库)与lookAtperspective而当我从音频发射立方体旋转的摄像头了,播放的音频应不同的声音.

我怎么做的?

每帧我将PannerNode(panner节点设置方向)的方向设置upVector为摄像机的方向.这是每一帧update-Method(声音):

  update(camera) {
    this._upVec = vec3.copy(this._upVec, camera.upVector);
    //vec3.transformMat4(this._upVec, this._upVec, camera.vpMatrix);
    //vec3.normalize(this._upVec, this._upVec);
    this._sound.panner.setOrientation(this._upVec[0], this._upVec[1], this._upVec[2]);
}
Run Code Online (Sandbox Code Playgroud)

这是updateViewProjectionMethod我的Camera类中的-Methof,我在其中更新了Orientation listener:

  updateViewProjMatrix() {
    let gl = Core.mGetGL();
    this._frontVector[0] = Math.cos(this._yaw) * Math.cos(this._pitch);
    this._frontVector[1] = Math.sin(this._pitch);
    this._frontVector[2] = Math.sin(this._yaw) * Math.cos(this._pitch);

    vec3.normalize(this._lookAtVector, this._frontVector);
    vec3.add(this._lookAtVector, this._lookAtVector, this._positionVector);

    mat4.lookAt(this._viewMatrix, this._positionVector, this._lookAtVector, this._upVector);
    mat4.perspective(this._projMatrix, this._fov * Math.PI / 180, gl.canvas.clientWidth …
Run Code Online (Sandbox Code Playgroud)

webgl web-audio-api

5
推荐指数
0
解决办法
151
查看次数

批量加载点四叉树

我已经实现了一种批量加载点四叉树的方法.但对于某些输入,它无法正常工作,例如,如果有许多点具有相同的x坐标或y坐标.示例数据集将是:

test = [(3, 1), (16, 1), (11, 4), (5, 4), (9, 6), (5, 10),
        (1, 15), (11, 5), (11, 15), (12, 16), (19, 17)]
tree = create(test)
Run Code Online (Sandbox Code Playgroud)

问题发生在以下几点:(11,4),(11,5),(11,15)(5,10),(5,4).

这是create功能:

def create(point_list, presorted=False):
    if not point_list:
        return QuadNode()

    if not presorted:
        point_list.sort(key=lambda p: [p[0],p[1]])

    median = len(point_list) >> 1

    relevantPoint = point_list[median]
    relevantYCoordinate = relevantPoint[1]

    node = QuadNode(data=relevantPoint)

    leftBins = point_list[:median]
    rightBins = point_list[median + 1:]

    nwBins = [bin for bin in leftBins if …
Run Code Online (Sandbox Code Playgroud)

python quadtree data-structures

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

如何在OpenGL/WebGL中减少绘制调用

当我读到OpenGL/WebGL中的性能时,我几乎听说减少绘制调用.所以我的问题是我只使用4个顶点来绘制纹理四边形.这通常意味着我的vbo只包含4个顶点.基本上

gl.bindBuffer(gl.ARRAY_BUFFER,vbo);
gl.uniformMatrix4fv(matrixLocation, false, modelMatrix);
gl.drawArrays(gl.TRIANGLE_FAN,0, vertices.length/3);
Run Code Online (Sandbox Code Playgroud)

这就是我看到的问题.在绘制之前,我更新当前四边形的模型矩阵.例如,沿y轴移动5个单位.

所以我需要:

gl.bindBuffer(gl.ARRAY_BUFFER,vbo);
gl.uniformMatrix4fv(matrixLocation, false, modelMatrix);
gl.drawArrays(gl.TRIANGLE_FAN, 0, vertices.length/3);

gl.uniformMatrix4fv(matrixLocation, false, anotherModelMatrix);
gl.drawArrays(gl.TRIANGLE_FAN,0, vertices.length/3);
....// repeat until all textures are rendered
Run Code Online (Sandbox Code Playgroud)

我怎么可能减少抽奖电话?或者甚至将其减少到只有一次抽奖.

opengl-es webgl

4
推荐指数
1
解决办法
2810
查看次数

从元组中删除无

以前关于如何从列表中删除无的答案不帮助我!我正在创建一个元组列表:

list(zip(*[iter(pointList)] *3))
Run Code Online (Sandbox Code Playgroud)

所以我拥有的是

[(object1,object2,object3),(object4,object5,object6),(object7,None,None)]
Run Code Online (Sandbox Code Playgroud)

要么

[(object1,object2,object3),(object4,object5,object6),(object7,object8,None)]
Run Code Online (Sandbox Code Playgroud)

我想删除元组中的None(只能在列表的最后一个条目中出现!).所以我想要的输出是:

[(object1,object2,object3),(object4,object5,object6),(object7)]
Run Code Online (Sandbox Code Playgroud)

要么

[(object1,object2,object3),(object4,object5,object6),(object7,object8)]
Run Code Online (Sandbox Code Playgroud)

我认为对我有用的是:

filter(None,myList)
Run Code Online (Sandbox Code Playgroud)

python tuples nonetype

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

R-Tree 中的最近邻算法

我正在阅读来自 Guttman 的论文Link to paper/book

我想知道最近邻查询如何与 R-Trees 一起工作或者它是如何实际实现的。我想到的是,您从根开始遍历树并检查其中一个条目是否包含查询点。

所以第一个问题是,如果一个矩形包含查询点,这并不意味着这个矩形内的所有矩形都会自动成为离查询点最近的矩形。即使查询点不在矩形内,也可能存在另一个距离更短的矩形?

其次,假设查询点实际上是一个最小的边界框,例如mbr = [left,bottom, right, top],我想要与该区域重叠的所有矩形,或者更好的是其质心位于给定区域内的所有矩形。这也可以吗?

spatial r-tree data-structures

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

设置 webpack 和 vue3

我正在尝试使用 webpack 和 typescript 设置 vue3。目前我遇到的问题是,每当我尝试运行时webpack serve,浏览器控制台内都会出现警告:

runtime-core.esm-bundler.js:3413 You are running the esm-bundler build of Vue. It is recommended to configure your bundler to explicitly replace feature flag globals with boolean literals to get proper tree-shaking in the final bundle. See http://link.vuejs.org/feature-flags for more details.
Run Code Online (Sandbox Code Playgroud)

我不明白。我的 webpack-config 如下:

const path = require("path")

module.exports = {
    mode: 'development',
    entry: './src/index.ts',
    devtool: 'inline-source-map',
    module: {
        rules: [
            {
                test: /\.tsx?$/,
                use: 'ts-loader',
                exclude: /node_modules/,
            },
        ],
    },
    resolve: {
        alias: …
Run Code Online (Sandbox Code Playgroud)

webpack vuejs3

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