QAudioOutput函数说明

提供接口,送PCM到输出设备;

 


 

接口: 

1 构造析构:QAudioOutput/~QAudioOutput()

2 获取设备缓冲大小,就是在不会被覆盖的情况下,你可以向QIODevice一次性送多少字节 int bufferSize() const;

3 设备缓冲的空闲字节数,int bytesFree() const;如果默认设备缓冲8192,你啥都没往里放的时候,它的空闲就是8192字节;

4 QString category() const; 返回音频流的音频类别属性;

qint64 QAudioOutput::elapsedUSecs() const;返回自调用start()以来的微秒数,包括空闲和挂起状态下的时间。不仅仅只是播放时间;

QAudio::Error QAudioOutput::error() const;返回错误状态;

QAudioFormat QAudioOutput::format() const;返回 QAudioFormat

int QAudioOutput::notifyInterval() const;返回通知间隔,毫秒;

int QAudioOutput::periodSize() const;返回播放周期的字节数;就是IOdevice处理的音频块的大小;

   返回以字节为单位的周期大小。这是每个周期所需的数据量,以防止缓冲区不足,并确保不间断播放。

   注意:建议在每次写入操作时,至少提供足够的完整时间段的数据。

10 qint64 QAudioOutput::processedUSecs() const;返回自调用start()以来处理的音频数据量(以微秒为单位)。

11 void QAudioOutput::reset();删除设备缓冲区中的所有音频数据,将缓冲区重置为零。

12 void QAudioOutput::resume();暂停后继续处理音频数据。

       将error()设置为QAudio::NoError。如果先前调用start(QIODevice*),则将state()设置为QAudio::ActiveState。如果之前调用start(),则将state()设置为  QAudio::IdleState。发出stateChanged()信号。

13 void QAudioOutput::setBufferSize(int value);将音频设备缓冲区大小设置为以字节为单位的值。

       注意:此函数可以在start()之前随时调用。在start()之后将忽略对此的调用。不应假定缓冲区大小集是实际使用的缓冲区大小-在start()之后随时调用bufferSize()以返回实际使用的缓冲器大小。

14  void QAudioOutput::setCategory(const QString &category) 将此音频流的音频类别设置为类别。

         一些平台可以将音频流分组并独立管理其音量,或者在系统混音器控件中显示它们。您可以设置此属性以允许平台区分流的用途。并非所有平台都支持音频流分类。在这种情况下,函数调用将被忽略。打开时更改音频输出流的类别在重新打开之前不会生效。See also category().

15 void QAudioOutput::setNotifyInterval(int ms);设置要发出的notify()信号的间隔。这是基于处理的音频数据的毫秒数,而不是挂钟时间。计时器的最小分辨率是特定于平台的,应使用notifyInterval()检查值以确认使用的实际值。真正信号触发可能并不一定是你设置好的间隔,所以这个并不是很准确的按照间隔触发;

16 void QAudioOutput::setVolume(qreal volume);将输出音量设置为volume。音量从0.0(静音)线性缩放到1.0(全音量)。超出此范围的值将被钳制。

       默认音量为1.0。注意:调整音量将更改此音频流的音量,而不是全局音量。UI音量控件通常应非线性缩放。例如,使用对数刻度将产生感知响度的线性变化,这是用户通常期望的音量控制。有关详细信息,请参见QAudio::convertVolume();

17 void QAudioOutput::start(QIODevice *device);开始将音频数据从设备传输到系统的音频输出。

       设备必须以只读或读写模式打开。如果QAudioOutput能够成功输出音频数据,state()将返回QAudio::ActiveState,error()返回QAudio::NoError,并发出stateChanged()信号。如果在这个过程中出现问题,error()将返回QAudio::OpenError,state()返回QAudio::StoppedState,并发出stateChanged()信号。

18  QIODevice *QAudioOutput::start();返回指向用于将数据传输到系统音频输出的内部QIODevice的指针。设备将已经打开,write()可以直接向其写入数据。

      注意:当流停止或启动另一个流时,指针将变为无效。如果QAudioOutput能够访问系统的音频设备,state()将返回QAudio::IdleState,error()返回QAudio::NoError,并发出stateChanged()信号。如果在这个过程中出现问题,error()将返回QAudio::OpenError,state()返回QAudio::StoppedState,并发出stateChanged()信号。

19  QAudio::State QAudioOutput::state() const;Returns the state of audio processing.返回音频正在处理的状态;活动,空闲,停止,挂起。

20  void QAudioOutput::stop();停止音频输出,与系统资源分离。将error()设置为QAudio::NoError,将state()设为QAudio::StoppedState,并发出stateChanged()信号。

21 void QAudioOutput::suspend();停止处理音频数据,保留缓冲的音频数据。将error()设置为QAudio::NoError,将state()设为QAudio::SuspendedState,并发出stateChanged()信号。暂停

22 qreal QAudioOutput::volume() const;Returns the volume between 0.0 and 1.0 inclusive.返回音量;

 

 

posted on 2022-11-01 21:01  邗影  阅读(1189)  评论(0编辑  收藏  举报

导航