You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					27 lines
				
				605 B
			
		
		
			
		
	
	
					27 lines
				
				605 B
			| 
											5 years ago
										 | #pragma once
 | ||
|  | #include <SLES/OpenSLES.h>
 | ||
|  | #include <SLES/OpenSLES_Android.h>
 | ||
|  | 
 | ||
|  | #include "sound.hpp"
 | ||
|  | 
 | ||
|  | 
 | ||
|  | class SLSound : public Sound {
 | ||
|  | public:
 | ||
|  |   SLSound();
 | ||
|  |   ~SLSound();
 | ||
|  |   bool play(AudibleAlert alert);
 | ||
|  |   void stop();
 | ||
|  |   void setVolume(int volume);
 | ||
|  | 
 | ||
|  | private:
 | ||
|  |   bool init();
 | ||
|  |   SLObjectItf engine_ = nullptr;
 | ||
|  |   SLObjectItf outputMix_ = nullptr;
 | ||
|  |   int last_volume_ = 0;
 | ||
|  |   double last_set_volume_time_ = 0.;
 | ||
|  |   AudibleAlert currentSound_ = AudibleAlert::NONE;
 | ||
|  |   struct Player;
 | ||
|  |   std::map<AudibleAlert, Player *> player_;
 | ||
|  |   friend void SLAPIENTRY slplay_callback(SLPlayItf playItf, void *context, SLuint32 event);
 | ||
|  | };
 |