blob: 61090a78e278f6621e6caf2a74fb079ae78f5cdc [file] [log] [blame]
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef EMBEDDERS_OPENGLUI_COMMON_SOUND_HANDLER_H_
#define EMBEDDERS_OPENGLUI_COMMON_SOUND_HANDLER_H_
#include <stdint.h>
#include <vector>
#include "embedders/openglui/common/sample.h"
class SoundHandler {
public:
SoundHandler();
virtual ~SoundHandler() {
}
virtual int32_t Start() {
return 0;
}
virtual void Stop() {
}
virtual int32_t Suspend() {
return 0;
}
virtual int32_t Resume() {
return 0;
}
virtual int32_t PlayBackground(const char* path) {
return 0;
}
virtual void StopBackground() {
}
// Optional, for preloading.
int32_t LoadSample(const char* path) {
return (GetSample(path) == NULL) ? -1 : 0;
}
virtual int32_t PlaySample(const char* path) {
// Just do a load so we can get logging.
return (GetSample(path) == NULL) ? -1 : 0;
}
protected:
typedef std::vector<Sample*> samples_t;
Sample* GetSample(const char* path);
samples_t samples_;
};
int32_t PlayBackgroundSound(const char* path);
void StopBackgroundSound();
int32_t LoadSoundSample(const char* path);
int32_t PlaySoundSample(const char* path);
#endif // EMBEDDERS_OPENGLUI_COMMON_SOUND_HANDLER_H_