【发布时间】:2013-08-07 15:54:43
【问题描述】:
我正在开发一个音频应用程序(在 C++ 中),并且我有很多相互调用的函数,它们要么获取帧数(即 1 个单声道或 2 个立体声浮点样本),要么获取原始样本数......
越来越难以跟踪每个函数(样本或帧?)的语义以及何时通过 nChannels 进行 mult 或 div,所以我想以某种方式执行 typedef samples_t 和 frames_t(到 unsigned int)并拥有编译器帮帮我...
是否有任何简单的方法可以将从 frames_t 到 samples_t 的隐式转换标记为 C++ 中的错误?
【问题讨论】:
-
对于 C++,您可能会发现这很有用:boost.org/doc/libs/1_54_0/doc/html/boost_units/Quick_Start.html.
-
@OliCharlesworth:您可以使用 «release» 代替 Boost 版本,该版本始终会将您带到最新稳定版本的文档(推荐方式)
-
作为一个以编写这种代码为生并且从未遇到过这个问题的开发人员,我冒昧地建议您也许是在问错误的问题/以错误的方式解决这个问题。其他选项是对帧或样本进行标准化,而不是有时使用一个,其他时间使用另一个,或者使用一种数据结构来承载原始样本数据以及采样数据的样本和帧数,然后传递该结构。
标签: c++ c audio casting typedef