[...] Therefore, you must extract the resource to a temporary file which can be passed to the component.
You are right if you want to play a 3-minute popsong. Or Beethovens 5th.
for every sound exists s flagwith the first use of the sound it is saved as file and the flag is setthe next times you know that a file exists
why not just check with FileExists()?(I'm serious; I'm curious about why you prefer using a flag)