当前位置: 首页 > 知识库问答 >
问题:

启动后如何结束libsoundio流?

欧阳德运
2023-03-14

是否有任何soundio函数可以“关闭”或“停止”outstream

(我可能会根据回答编辑或添加我的问题,现在我有太多的未知数,无法提出正确的问题。)

共有1个答案

司寇苗宣
2023-03-14

重要的是:我们不是为参考资料中的每个声音片段创建一个流,而是在每次希望播放一个声音片段时创建一个流。

播放声音剪辑后,soundio_outstream_destroy(outstream);停止调用回调。诀窍是我们不能在write_callback中调用这个函数,所以我们应该在回调线程和应用程序的线程之间实现某种消息传递,以破坏outstream

在我的回答中有更多的细节:用soundio播放多个流

 类似资料:
  • libsoundio 是轻量级抽象的声音驱动程序,是一个跨平台实时音频输入和输出的 C99 库。libsoundio 提供文档完善的 API,适用于实时软件,比如游戏,数字音频工作站,音乐播放器等等实用工具。 libsoundio 非常健壮,可以正确处理内存不足的状态。 特性&限制 支持的后端 JACK PulseAudio ALSA CoreAudio WASAPI Dummy (silence

  • 问题内容: 我正在使用我的应用程序拨打电话。 一段时间后有什么办法可以终止通话?还是在ACTION_CALL开始之前设置一个计时器? 我正在使用Prasanta博客中的以下代码,但由于某些原因,导致出现以下错误。有什么建议? 无法解决 问题答案: 您的问题已被问过很多次了。简短的答案是,没有官方的方法可以做到这一点。 在一个问题中,有人建议打开飞行模式(应用程序当然需要权限才能执行此操作)。这很粗

  • 问题内容: 我正在使用。我在表格的一列中包含日期()。例如: 如何编写一个SQL查询,该查询以以下格式返回所有日期: 那是每个日期将被设置为一天的结束。 问题答案: 取日期,将其截断,添加一天,然后减去一秒: 如果要更改表中的数据,可以将逻辑放在其中。 当然,您也可以添加24 * 60 * 60-1秒: 但这似乎不太优雅。

  • 有没有办法刷新这样的组件? 我想以某种方式从方法触发一个AJAX请求,并将添加到上述组件中。但我不知道,如何触发AJAX请求。

  • 问题内容: 运行需要终端I输入的程序,可以通过Ctrl + D“关闭” stdin。之后有什么办法可以重新打开标准输入? 问题答案: 通常在linux和POSIXy系统上,当您在终端中按+ 时,标准输入描述符不会关闭。它只是使伪终端层变得可读,并返回0。这就是POSIXy系统指示输入结束的方式。 这并不意味着文件描述符(甚至C库在其顶部提供的流句柄)都已关闭。正如史蒂夫·萨米特(Steve Sum