作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用Qt进行一些音频输出。有一个示例音频输出,其中纯虚函数qint64 QIODevice::readData(char * data,qint64 maxSize)像这样重新实现(这不是示例中的实际代码)。
qint64 Generator::readData(char *data, qint64 len)
{
memcpy(data, m_buffer.data(), len);
return len;
}
qint64 Generator::readData(char *data, qint64 len)
{
data = m_buffer.data();
return len;
}
最佳答案
此方法的签名仅允许您通过复制来返回数据。
分配指针是没有意义的,因为此参数将作为副本传递,因此分配的值在您的方法外部将不可见。
对于实时音频输出,memcpy
一点也不慢(除非您在8位处理器上执行此操作)。
音频代码太慢会导致声音出现间隙,但不会引起延迟。延迟是音频缓冲区太大的结果。
关于c++ - 如何在QIoDevice中摆脱memcpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24440098/
我是一名优秀的程序员,十分优秀!