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.
		
		
		
		
		
			
		
			
				
					
					
						
							26 lines
						
					
					
						
							605 B
						
					
					
				
			
		
		
	
	
							26 lines
						
					
					
						
							605 B
						
					
					
				#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);
 | 
						|
};
 | 
						|
 |