小编NO_*_*GUI的帖子

您如何构建 Pion mediadevices webrtc 示例?

我正在检查Pion Mediadevices并尝试从我的 Windows 计算机交叉编译 webrtc 示例以获得 rasperry pi 零。但是,当我尝试构建示例时,我从 Windows 命令提示符处收到这些错误:

    # github.com/pion/mediadevices/pkg/codec/mmal
..\..\pkg\codec\mmal\params.go:30:9: undefined: newEncoder
# github.com/pion/mediadevices/pkg/driver/microphone
..\..\pkg\driver\microphone\microphone.go:27:10: undefined: malgo.AllocatedContext
..\..\pkg\driver\microphone\microphone.go:34:2: undefined: malgo.DeviceInfo
..\..\pkg\driver\microphone\microphone.go:40:13: undefined: malgo.InitContext
..\..\pkg\driver\microphone\microphone.go:40:36: undefined: malgo.ContextConfig
..\..\pkg\driver\microphone\microphone.go:78:25: undefined: malgo.DeviceInfo
Run Code Online (Sandbox Code Playgroud)

也因为该程序是针对 pi 零的,我将导入部分编辑为具有“github.com/pion/mediadevices/pkg/codec/mmal”并注释掉了 x264 导入。构建此示例的正确方法是什么?

编辑:经过进一步调查,我发现上面的错误消息:

 ..\..\pkg\codec\mmal\params.go:30:9: undefined: newEncoder
Run Code Online (Sandbox Code Playgroud)

与对函数 newEncoder 的调用相关,该函数在单独的 go 文件 mmal.go 中声明,与 params.go 位于同一文件夹中。这两个文件package mmal在导入之前都位于顶部,它们所在的文件夹也称为 mmal。是否有任何问题导致 params.go 无法查看该函数?

c go webrtc raspberry-pi-zero

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

在 C++ 中查找像素 RGB 数据的最快方法是什么?

我想查看屏幕上 100 X 100 正方形中每个像素的 RGB 数据并将其存储在数组中。我在 for 循环中使用 GetPixel() 得到了这个概念,然后将输出转换为十六进制并将 RGB 数据存储在数组中,但这种方法需要的时间比我想要的要长得多。用 C++ 读取像素 RGB 数据的最快方法是什么?

c++ windows gdi

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

如何加快打印 Unicode 的速度?

我正在使用 windows.h "TextOutW" 函数将文本打印到位图。打印普通的 ascii 确实很快,但是在 unicode 范围内打印似乎会导致巨大的减速。这是我打印 unicode 方块并测试持续时间的代码:

wchar_t b = 0x25A0;
LPCWSTR s = &b;
TextOutW(hMyDC, x, y, s, wcslen(s));
Run Code Online (Sandbox Code Playgroud)

有没有办法加快这个速度?

编辑:我用计时器运行我的循环来测试速度:

    using std::chrono::high_resolution_clock;
    using std::chrono::duration_cast;
    using std::chrono::duration;
    using std::chrono::milliseconds;



auto t1 = high_resolution_clock::now();

for(int i = 0; i<1000; i++){
    TextOutW(hMyDC, 25, 25, s, 1);
}
  
auto t2 = high_resolution_clock::now();

  //  auto ms_int = duration_cast<milliseconds>(t2 - t1);
duration<double, std::milli> ms_double = t2 - t1;
    cout << ms_double.count() << "ms\n";
Run Code Online (Sandbox Code Playgroud)

打印 'H' a 1000 次大约需要 5ms,打印 0x25A0 1000 …

c++ winapi gdi

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

标签 统计

c++ ×2

gdi ×2

c ×1

go ×1

raspberry-pi-zero ×1

webrtc ×1

winapi ×1

windows ×1