title: How to manage embedded audio resources in Delphi (similar to TImageList)?
body: <p>I need to manage a large number of diverse embedded resources (such as wav files, pictures etc.).</p>
  
  <p>For images, we have things like TImageList which makes it very easy and comfortable to embed, access and use icons at runtime.</p>
  
  <p>I wonder if there is an easy, comfortable library component for other resources, such as wav files, too, so I can access them easily in this manner, populate menus with them or play them, for example:</p>
  
  <pre><code>PlayWav(WavLibrary.ItemIndex(1));
  </code></pre>
  
  <p>instead of</p>
  
  <pre><code>PlayWav('C:\Users\Documents\sounds\wav1.wav');
  </code></pre>
  
  <p>which is obviously error-prone and needs loads of extra handling (deploying the files in the right directory during install time, ensure permissions, prevent them from being deleted, copied etc., enumerate them and lastly making sure to call the right path from the app at runtime).</p>
  
  <p>Doing it with rc files and resource streams etc. seems comparably cumbersome.</p>
  
  <p>If there is a general library component that can manage embedded resources of other kinds (not just wav) I would also like to know that.</p>
  
  <p>If there isn't, how would you go about this in the most time-saving and easy way?</p>