|
@@ -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;
|