浏览代码

Fix sampling rate always set at 44.1KHz

Daniele Bartolini 12 年之前
父节点
当前提交
eba6770677
共有 1 个文件被更改,包括 21 次插入2 次删除
  1. 21 2
      engine/audio/backend/SLESSoundWorld.cpp

+ 21 - 2
engine/audio/backend/SLESSoundWorld.cpp

@@ -165,8 +165,7 @@ struct SoundInstance
 			case 192000: format_pcm.samplesPerSec = SL_SAMPLINGRATE_192; break;
 			case 192000: format_pcm.samplesPerSec = SL_SAMPLINGRATE_192; break;
 			default: CE_FATAL("Oops, sample rate not supported"); break;
 			default: CE_FATAL("Oops, sample rate not supported"); break;
 		}	
 		}	
-		
-		format_pcm.samplesPerSec = SL_SAMPLINGRATE_44_1;
+
 		format_pcm.bitsPerSample = SL_PCMSAMPLEFORMAT_FIXED_16;
 		format_pcm.bitsPerSample = SL_PCMSAMPLEFORMAT_FIXED_16;
 		format_pcm.containerSize = SL_PCMSAMPLEFORMAT_FIXED_16;
 		format_pcm.containerSize = SL_PCMSAMPLEFORMAT_FIXED_16;
 		format_pcm.endianness = SL_BYTEORDER_LITTLEENDIAN;
 		format_pcm.endianness = SL_BYTEORDER_LITTLEENDIAN;
@@ -238,6 +237,10 @@ struct SoundInstance
 		(*m_player_obj)->Destroy(m_player_obj);
 		(*m_player_obj)->Destroy(m_player_obj);
 	}
 	}
 
 
+	void reload(SoundResource* new_sr)
+	{
+	}
+
 	void play(bool loop, float volume)
 	void play(bool loop, float volume)
 	{
 	{
 		set_volume(volume);
 		set_volume(volume);
@@ -301,6 +304,11 @@ struct SoundInstance
 		// }
 		// }
 	}
 	}
 
 
+	SoundResource* resource()
+	{
+		return m_resource;
+	}
+
 public:
 public:
 
 
 	SoundInstanceId m_id;
 	SoundInstanceId m_id;
@@ -397,6 +405,17 @@ public:
 		}
 		}
 	}
 	}
 
 
+	virtual void reload_sounds(SoundResource* old_sr, SoundResource* new_sr)
+	{
+		for (uint32_t i = 0; i < m_playing_sounds.size(); i++)
+		{
+			if (m_playing_sounds[i].resource() == old_sr)
+			{
+				m_playing_sounds[i].reload(new_sr);
+			}
+		}
+	}
+
 	virtual void set_listener_pose(const Matrix4x4& pose)
 	virtual void set_listener_pose(const Matrix4x4& pose)
 	{
 	{
 		m_listener_pose = pose;
 		m_listener_pose = pose;