我希望能够将.mp3文件加载到缓冲区中。从缓冲区播放,暂停,停止,非常重要我需要能够在音频文件中的特定时间播放。我想远离第三方库,而不必担心依赖关系和后来的构建。我正在使用带有VS2012 c ++的windows7 64位。是否有任何基本的内置Windows库我可以链接到其他使用Direct Sound或OpenAL - Ogg / Vorbis?
class AudioStream {
private:
// Member Variables Here
std::string m_strFilename;
std::shared_ptr<SomeBuffer> m_pAudioBuffer; // This may or may not be needed.
__int64 m_i64CurrentPlayTime;
__int64 m_i64TimeSaved;
public:
// Constructor & Destructor
AudioStream();
~AudioStream();
// Public Methods
bool load( const std::string filename );
bool play();
bool pause();
bool stop();
// The Variable for this function could be a long or a __int64 not sure yet
bool playFrom( __int64& i64TimeToPlayFrom );
private:
AudioStream( const AudioStream& c ); // Not Implemented
AudioStream& operator=( const AudioStream& c ); // Not Implemented
// If Needed
bool encode();
bool decode();
void convert();
}; // AudioStream
我不确定用什么来阅读和播放.mp3文件以及如何寻找playFrom方法的正确时间。