osg::AudioSink
是用于播放音频的 OpenSceneGraph 类。它能够读取各种音频格式的文件,例如 WAV、MP3、OGG 等,并可以通过 OpenAL 库播放音频。
osg::ref_ptr<osg::AudioSink> audioSink = new osg::AudioSink();
构造函数创建一个空的 osg::AudioSink
对象,该对象需要设置输入音频文件才能播放。
void osg::AudioSink::setAudioReader(osg::ref_ptr<osgAudio::AudioReader> audioReader);
该函数将一个 osgAudio::AudioReader
对象读取并向 osg::AudioSink
输入音频数据。
void osg::AudioSink::play();
该函数开始播放当前输入音频。
void osg::AudioSink::pause();
该函数暂停当前播放音频,使其停止发出声音。
void osg::AudioSink::stop();
该函数停止当前播放音频,从头开始播放。
osgAudio::AudioReader* osg::AudioSink::getAudioReader() const;
该函数返回当前音频读取器指针,可用于访问和操作音频数据。
void osg::AudioSink::setDoLooping(bool loop);
该函数设置是否循环播放音频。
loop
:是否循环播放音频。bool osg::AudioSink::getDoLooping() const;
该函数返回当前 osg::AudioSink
是否循环播放音频。
void osg::AudioSink::setVolume(float volume);
该函数设置当前音频的音量大小。
volume
:音量大小,取值范围为 0.0 - 1.0,具体取值根据具体情况而定。float osg::AudioSink::getVolume() const;
该函数返回当前音频的音量大小。
float osg::AudioSink::getCurrentTime() const;
该函数返回当前音频的播放时间,单位为秒。
float osg::AudioSink::getLength() const;
该函数返回当前音频的总长度,单位为秒。
bool osg::AudioSink::isPlaying() const;
该函数返回当前音频是否正在播放。
bool osg::AudioSink::isPaused() const;
该函数返回当前音频是否处于暂停状态。