小编Nul*_*lad的帖子

PyAudio找不到任何输出设备

当我跑步时:

import pyaudio
pa = pyaudio.PyAudio()
pa.get_default_output_device_info()
Run Code Online (Sandbox Code Playgroud)

我得到:

IOError: No Default Output Device Available
Run Code Online (Sandbox Code Playgroud)

当我说:

pa.get_device_count()
Run Code Online (Sandbox Code Playgroud)

它返回0L

当然,如果我列出设备

for i in range(0, device_count):
        print("Name: " + pa.get_device_info_by_index(i)["name"])
        print("Index: " + pa.get_device_info_by_index(i)["index"])
        print("\n")
Run Code Online (Sandbox Code Playgroud)

它不会打印任何内容。

我正在运行Ubuntu 16.04,并通过以下方式设置了默认接收器:

pacmd list-sinks
pacmd set-default-sink 0
Run Code Online (Sandbox Code Playgroud)

我拥有最新版本的PulseAudio,ALSA和PortAudio。有什么建议么?

更新:我也无法在Audacity上查看任何声音设备,尽管它们出现在“系统设置”>“声音”下。在Audacity中,我得到了错误:

打开声音设备时出错。请检查记录设备设置和项目采样率。

我认为这几乎可以肯定是PortAudio的问题,因为设置页面如下所示: 在此处输入图片说明

python ubuntu pyaudio

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

Python:在Windows的Ubuntu上通过Bash运行pygame

我最近已经安装并一直在Windows的Ubuntu上Bash。在大多数情况下,它都很棒。我正在尝试通过BUW运行pygame脚本,但它不会在弹出窗口中呈现图形。相反,它似乎包含在bash窗口中,如下所示:

在此处输入图片说明

这是pygame的失败原因吗?我在这里可以做些什么来使其运行吗?

python windows bash ubuntu pygame

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

由于不允许的 MIME 类型 (“”),加载模块被阻止

我正在查看一个 Three.js 示例,当我import在 javascript 模块中使用时,出现错误:\nLoading module from \xe2\x80\x9chttp://localhost:8000/build/three.module.js\xe2\x80\x9d was blocked because of a disallowed MIME type (\xe2\x80\x9c\xe2\x80\x9d).

\n

当我使用脚本标记传统导入时,我不会收到此错误。这是我的代码:

\n

注释掉的线将渲染一个旋转的立方体

\n
<!DOCTYPE html>\n<html>\n    <head>\n        <title>My first three.js app</title>\n        <style>\n            body { margin: 0; }\n        </style>\n    </head>\n    <body>\n        <script type="module">\n\n            import * as THREE from '/build/three.module.js';\n            // const scene = new THREE.Scene();\n            // const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );\n\n            // const renderer = new THREE.WebGLRenderer();\n            // renderer.setSize( window.innerWidth, window.innerHeight );\n            // …
Run Code Online (Sandbox Code Playgroud)

javascript python simplehttpserver mime-types

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

尽管安装了正确的字体,tmux powerline 符号仍无法正确呈现

我正在使用这个 tmux 配置。它工作正常,只是电力线符号未渲染。我已经安装了正确的字体,并在终端中使用它们。来自文档:

我安装了 Powerline 和/或(修补的)字体,但看不到 Powerline 符号。

首先,您不需要安装 Powerline。您只需要使用 Powerline 符号或独立 PowerlineSymbols.otf 字体修补的字体。然后确保您的 ~/.tmux.conf.local 副本对 tmux_conf_theme_left_separator_XXX 值使用正确的代码点。

我检查了配置文件并尝试渲染符号,它们都工作正常。 unicode 正确渲染

并且查看~/.tmux.conf.local发现这些unicode字符是一致的:

.tmux.conf.local 输出

所以我已经安装了正确的字体,在我的终端中使用了正确的字体,可以渲染正确的字形(使用Python时)。但它不显示在电力线上。

我可以尝试做什么来使符号正确渲染?

我使用的是 Ubuntu 20.04.2 LTS、默认终端和 tmux。

bash tmux powerline

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

如何为 webRTC 提供 STUN 服务器

我制作了一个非常基本的基于 WebRTC 的视频会议应用程序,从我自己的本地网络访问时它效果很好。现在下一步是为它提供 STUN/TURN 服务器,以便它可以公开使用。

有很多关于如何为本地电话会议设置 WebRTC 的教程,但几乎没有关于使用 STUN/TURN 服务器的教程。

const iceConfiguration = {}
iceConfiguration.iceServers = [
  {
    urls: 'stun:stun1.l.google.com:19302'
  },
  {
    urls: 'stun:stun3.l.google.com:19302'
  },
  {
    urls: 'stun:stun4.l.google.com:19302'
  }
];

// some stuff happens...

localConnection = new RTCPeerConnection(iceConfiguration);

Run Code Online (Sandbox Code Playgroud)

所以,这在本地有效,但是当我与一些朋友远程测试时,它不起作用。可能的情况是它们都位于对称 NAT 后面,并且我需要使用 TURN 服务器,但我听说 NAT 配置有点罕见,因此它似乎可能适用于至少一个人。这是设置 STUN 服务器的正确方法吗?我真的只能找到一篇关于此的教程,网上最多的内容是关于如何构建自己的 TURN/STUN 服务器而不是如何使用......

javascript webrtc

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

R 公式中的 (|) 语法是什么意思?

我正在学习教程并遇到以下语法:

# assume 'S' is the name of the subjects column
# assume 'X1' is the name of the first factor column
# assume 'X2' is the name of the second factor column
# assume 'X3' is the name of the third factor column
# assume 'Y' is the name of the response column
# run the ART procedure on 'df'

# linear mixed model syntax; see lme4::lmer
m = art(Y ~ X1 * X2 * X3 + (1|S), data=df) …
Run Code Online (Sandbox Code Playgroud)

r lme4 r-formula

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

音频流未添加到 html 画布

我有一个在 p5 中创建的 html 画布,我想向其中添加一个音轨,以便我可以通过 webrtc 连接对其进行流式传输。我目前可以流式传输视频,但不能流式传输音频。

我将音频流添加到画布中,如下所示:

let canvasSource = document.getElementById('canvas-viz');

navigator.mediaDevices.getUserMedia({
      audio: true
    }).then(audioStream => {
      audioStream.getAudioTracks().forEach(
        track => { 
          canvasSource.captureStream().addTrack(track) 
        })
      console.log("canv source: ",canvasSource.captureStream().getAudioTracks()); // prints  []
    })
Run Code Online (Sandbox Code Playgroud)

所以我的主要问题是,当我打电话时,canvasSource.captureStream().getAudioTracks()我得到了[]. 所以看来这addTrack不能正常工作。我尝试调用canvasSource.captureStream().getAudioTracks()开发工具,以防发生一些异步愚蠢的事情,并且还 go []。我还在开发工具中尝试了以下操作:

audioTracks = audioStream.getAudioTracks();
canvasSource.captureStream().addTrack(audioTracks[0]);
Run Code Online (Sandbox Code Playgroud)

但这也不起作用,[]在查看时返回getAudioTracks()。当调用 时audioStream.getAudioTracks(),我得到一个大小为 1 的数组以及我的麦克风输入流。

我正在遵循以下所示的方法: how to add aaudiostreamoncanvasstreaminwebrtc

我正在 Chrome 中开发这个。就我的目的而言,目前它不需要在 Firefox 中交叉兼容。

javascript audio canvas audio-streaming

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

反应onClick事件产生:"未捕获的TypeError:无法读取未定义的属性",尽管绑定

我正在编写一个React脚本,它将<a />从之前定义的数组中呈现一堆元素.

...
render:
...
    var behaviourComponents = this.props.myObjectArray.map(function(element) {
                    return <a className="crumbFile" onClick={this._myFunction.bind(this,element.value1)}>{element.value2}</a>;
                });
    return (
...
<div>{behaviourComponents}</div>
...)
Run Code Online (Sandbox Code Playgroud)

当没有onClick函数调用时,这很好用.但是,当我得到错误时:"未捕获的TypeError:无法读取未定义的属性'_myFunction'".

这是特别奇怪的,因为我有一个组件就在它之前,onClick函数调用工作正常(<a class="btn header" style={buttonStyle} onClick={this._onLoad}>Load</a>),这使我认为这是一个范围问题,由于map()函数.但是,我使用了.bind(),所以我不太清楚这里有什么问题.

javascript bind reactjs

0
推荐指数
1
解决办法
2614
查看次数