- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试为实时音频应用程序实现双缓冲区,QAudioInput
要求它是QIODevice
的子类。我发现此方法的文档非常困惑。
首先,文档中的方法签名与 QT 5.9.2 的 header 不匹配,它具有 virtual qint64 writeData(const char *data, qint64 len) = 0;
。
虽然文档有这个签名:qint64 QIODevice::writeData(const char *data, qint64 maxSize)
maxSize
参数让我感到困惑,因为它暗示我只能缓冲一些数据,文档也暗示了这一点:
Writes up to
maxSize
bytes from data to the device. Returns the number of bytes written, or-1
if an error occurred.
然而,紧接着文档说了这个,这对我来说似乎是矛盾的:
When reimplementing this function it is important that this function writes all the data available before returning. This is required in order for
QDataStream
to be able to operate on the class.QDataStream
assumes all the information was written and therefore does not retry writing if there was a problem.
那么我的 QIODevice
实现是否负责在单个调用中缓冲所有数据?
最佳答案
他们基本上想说的是:传递的 data
是 maxSize
字节长。您的实现应该写入所有数据并返回写入的字节数。
写入比可用数据少的数据是可能的,但你不应该这样做。如果你这样做,一些使用你的设备的类可能不会对此使用react(比如 QDataStream)。这取决于 QAudioInput
如何处理写入调用。如果它检查结果并在未完全写入的情况下再次写入丢失的数据,则不写入所有数据是可以的。如果不是这种情况,您必须始终写入所有数据。
只需尝试一下:始终只写入 1 个字节(并返回 1)。如果有效,那很好,如果无效,则必须始终写入所有传递的数据,否则会返回 -1。
关于c++ - 实现 QIODevice::writeData,混淆文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46673073/
我有一个记录器的自定义实现,它记录我的应用程序中的操作和操作。 强NSString引用生活在我的单例类(class)中。 每当我需要记录一些东西时,我都会调用一个名为“-(void)writeToFi
软呢帽上的 qt5.7 检查了这个audio-to-chart example并发现 QIODevice::writeData 用于读取麦克风输入。由于它有效并且正在绘制来自麦克风的数据,因此该功能显
我正在练习信号量类(class)我创建了两个线程,其中一个将数据写入“Shared”类中的 HashMap,另一个从 Shared 类中读取数据。 所以我的问题是,当我读取数据时,它只显示之前在 Sh
如何关闭WRITEFUNCTION和WRITEDATA? 使用pycurl我有一个叫curlUtil的类。在其中,我有pageAsString(自己,URL),它返回一个字符串。 为此,我设置了WRI
我正在尝试分享 PHAssetResource与原始文件名。此方法将 Assets 资源保存到临时目录并从那里共享。自 iOS 13 以来,这一直出现错误: let tempDirectory = N
我正在尝试为实时音频应用程序实现双缓冲区,QAudioInput 要求它是QIODevice 的子类。我发现此方法的文档非常困惑。 首先,文档中的方法签名与 QT 5.9.2 的 header 不匹配
本文整理了Java中org.I0Itec.zkclient.ZkConnection.writeData()方法的一些代码示例,展示了ZkConnection.writeData()的具体用法。这些代
本文整理了Java中org.I0Itec.zkclient.ZkClient.writeData()方法的一些代码示例,展示了ZkClient.writeData()的具体用法。这些代码示例主要来源于
本文整理了Java中com.github.zkclient.ZkClient.writeData()方法的一些代码示例,展示了ZkClient.writeData()的具体用法。这些代码示例主要来源于
当我在我的客户端上调用一个突变时,我收到以下警告: writeToStore.js:111 Missing field updateLocale in {} 这是我的状态链接: const state
还有其他人注意到 pycurl 示例在 Python 2.* 上不起作用吗? import pycurl from StringIO import StringIO buffer = StringIO
本文整理了Java中org.apache.samza.zk.ZkUtils.writeData()方法的一些代码示例,展示了ZkUtils.writeData()的具体用法。这些代码示例主要来源于Gi
本文整理了Java中us.ihmc.simulationConstructionSetTools.whiteBoard.YoWhiteBoard.writeData()方法的一些代码示例,展示了YoW
根据本地状态管理的 docs,可以同时使用 writeData 和 writeQuery 将数据附加到缓存中。 这里的最佳做法是什么?什么时候一个? 最佳答案 来自 the documentation
我只想知道下面两种说法的区别: curl.setopt(pycurl.WRITEDATA, fp) curl.setopt(pycurl.WRITEFUNCTION, fp.write) fp 是一个
本文整理了Java中org.apache.helix.manager.zk.ZkClient.writeData()方法的一些代码示例,展示了ZkClient.writeData()的具体用法。这些代
因此,我有一个使用apollo-graphql的应用程序,其中某些解析程序仅对经过身份验证的用户可用,如果未经身份验证的用户尝试访问它们,它们将返回401。我知道那里没有开创性的东西。 但是,我试图拦
我正在尝试使用 Jenkins 为我的 iOS 项目( Xcode 10.2.1 )进行 CICD 设置。 我正在使用 FaSTLane 创建用于测试、归档等的 channel 。 除测试车道外,所有
我正在尝试使用 apollo-link-state 管理本地状态。我读过您应该使用 withClientState() 设置解析器、默认值和缓存.所以我们开始了: const cache = new
我的程序经常在以下行崩溃(访问错误): int writeSize = [_outputStream write:pCopyOfDataBuff maxLength:sendLength]; pCop
我是一名优秀的程序员,十分优秀!