void PlaybackManager::stopSounds() { std::vector< LayerSound* > kSoundLayers; for ( int i = 0; i < object()->getLayerCount(); ++i ) { Layer* layer = object()->getLayer( i ); if ( layer->type() == Layer::SOUND ) { kSoundLayers.push_back( static_cast< LayerSound* >( layer ) ); } } for ( LayerSound* layer : kSoundLayers ) { layer->foreachKeyFrame( []( KeyFrame* key ) { SoundClip* clip = static_cast< SoundClip* >( key ); clip->stop(); } ); } }