小编Lou*_*ise的帖子

如何使用ALSA的snd_pcm_writei()?

有人可以解释一下snd_pcm_writei

snd_pcm_sframes_t snd_pcm_writei(snd_pcm_t *pcm, const void *buffer,
                                 snd_pcm_uframes_t size)
Run Code Online (Sandbox Code Playgroud)

作品?

我像这样使用它:

for (int i = 0; i < 1; i++) {
   f = snd_pcm_writei(handle, buffer, frames);

   ...
}
Run Code Online (Sandbox Code Playgroud)

http://pastebin.com/m2f28b578上的完整源代码

这是否意味着,我不应该给出snd_pcm_writei()所有帧的数量buffer,而只是

sample_rate*latency = frames

因此,如果我有例如:sample_rate = 44100 latency = 0.5 [s] all_frames = 100000

帧的,我应该给的数目snd_pcm_writei()

sample_rate*latency = frames 44100*0.5 = 22050

以及for循环的迭代次数应该是多少?

(int)100000/22050 = 4; 框架= 22050

还有一个,但只有

100000 mod 22050 = 11800

帧?

它是如何工作的?

路易丝

http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m.html#gf13067c0ebde29118ca05af76e5b17a9

c c++ alsa

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

如何禁用目录中的任意 PHP 7 代码?

问题在底部。

根据官方的 Mediawiki 安全指南,我必须

<Directory "/Library/MediaWiki/web/images">
   # Ignore .htaccess files
   AllowOverride None

   # Serve HTML as plaintext, don't execute SHTML
   AddType text/plain .html .htm .shtml .phtml .php .php3 .php4 .php5 .php7

   # Don't run arbitrary PHP code.
   php_admin_flag engine off

   # If you've other scripting languages, disable them too.
</Directory>
Run Code Online (Sandbox Code Playgroud)

但是使用 Apache 2.4.29 和 PHP 7.1.15 我得到

Invalid command 'php_admin_flag', perhaps misspelled or defined by a module not included in the server configuration
Run Code Online (Sandbox Code Playgroud)

根据这篇文章,解决方案是

您不能将 php_admin_value/php_admin_flag …

php linux apache mediawiki

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

GTK 状态栏如何工作?我的代码有什么问题?

我想要一个状态栏,所以我开始制作一个只有状态栏的小程序,这样我就可以看到它是如何工作的。

现在我只想能够在其中获取一些文本,但它显示的是一个随机字符。

有人可以看到我的代码有什么问题吗?

#include <gtk/gtk.h>

int main (int argc, char *argv[]) {
  GtkWidget *window, *statusbar, *vbox;
  gchar *info;
  gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_widget_set_size_request(window, 250, -1);

  g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);

  statusbar = gtk_statusbar_new();

  /* stack for info messages */
  g_object_set_data(G_OBJECT(statusbar), "info", (gpointer) "1");
  g_object_set_data(G_OBJECT(statusbar), "info", (gpointer) "2");
  g_object_set_data(G_OBJECT(statusbar), "info", (gpointer) "3");

  /* stack for warning messages */
  g_object_set_data(G_OBJECT(statusbar), "warning", (gpointer) "A");
  g_object_set_data(G_OBJECT(statusbar), "warning", (gpointer) "B");
  g_object_set_data(G_OBJECT(statusbar), "warning", (gpointer) "C");

  /* get id for the message at the top of the …
Run Code Online (Sandbox Code Playgroud)

c gtk

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

如何添加许多值?

在我之前的文章中,我学习了如何从ffmpeg一个文件中提取持续时间.

ffmpeg -i file.mp4 2>&1 | grep Duration | awk '{print $2}' | tr -d ,
Run Code Online (Sandbox Code Playgroud)

这会产生类似的东西00:08:07.98.

我想最终得到的是一个脚本,我可以说

get_duration.sh *
Run Code Online (Sandbox Code Playgroud)

它会添加所有持续时间长度并输出类似的东西04:108:1107.198.

它不必将分钟转换为小时等等.这会很好但是=)

我可以列出所有的长度

for f in *; do
  ffmpeg -i "$f" 2>&1 | grep Duration | awk '{print $2}' | tr -d ,;
done
Run Code Online (Sandbox Code Playgroud)

但是如何添加这些奇怪的格式化数字呢?

linux bash

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

如何从SVN存储库中获得更早的版本?

如果我执行此命令

svn co https://ltfat.svn.sourceforge.net/svnroot/ltfat ltfat
Run Code Online (Sandbox Code Playgroud)

我会得到最新的回复,即908.

但我真的想要回归901.

有人知道我该怎么做吗?

很多爱,路易丝

svn

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

这个例子可以用指针而不是全局变量来完成吗?

这是我遇到的问题的简化示例:

#include <stdio.h>
#include <stdlib.h>

void f2(int** a) {
  printf("a: %i\n", **a);
}

void f1(int* a) {
  f2(&a);
}

int main() {
  int a = 3;
  f1(&a); // prints "a: 3"

  f2(???);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

问题是,我想能够使用f2()两个main()f1().

可以在不使用全局变量的情况下完成吗?

c c++

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

从 `ls` 中删除前 3 列?

如果我这样做ls -o,我得到

-rw-rw-r-- 1 louise     347967 Aug 28  2017 Screenshot from 2017-08-28 09-33-01.png
-rw-rw-r-- 1 louise     377739 Aug 29  2017 Screenshot from 2017-08-29 10-39-49.png
-rw-rw-r-- 1 louise     340682 Aug 29  2017 Screenshot from 2017-08-29 10-40-02.png
Run Code Online (Sandbox Code Playgroud)

我真的想删除前 3 列,所以我得到

347967 Aug 28  2017 Screenshot from 2017-08-28 09-33-01.png
377739 Aug 29  2017 Screenshot from 2017-08-29 10-39-49.png
340682 Aug 29  2017 Screenshot from 2017-08-29 10-40-02.png
Run Code Online (Sandbox Code Playgroud)

ls不能这样做,似乎。这里还有其他关于删除多列的问题,但不是从一开始。

linux bash awk cut

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

标签 统计

c ×3

linux ×3

bash ×2

c++ ×2

alsa ×1

apache ×1

awk ×1

cut ×1

gtk ×1

mediawiki ×1

php ×1

svn ×1