1   package org.daisy.pipeline.audio;
2   
3   import java.util.HashMap;
4   import java.util.Map;
5   
6   import javax.sound.sampled.AudioFileFormat;
7   
8   /**
9    * Supported audio file types
10   */
11  public final class AudioFileTypes {
12  
13  	public static final AudioFileFormat.Type MP3 = new AudioFileFormat.Type("MP3", "mp3");
14  	public static final AudioFileFormat.Type WAVE = AudioFileFormat.Type.WAVE;
15  
16  	private static final Map<String,AudioFileFormat.Type> mediaTypes = new HashMap<>();
17  	static {
18  		mediaTypes.put("audio/mpeg", MP3);
19  		mediaTypes.put("audio/mp3", MP3);
20  		mediaTypes.put("audio/wav", WAVE);
21  		mediaTypes.put("audio/wave", WAVE);
22  		mediaTypes.put("audio/x-wav", WAVE);
23  		mediaTypes.put("audio/vnd.wave", WAVE);
24  		mediaTypes.put("audio/aiff", AudioFileFormat.Type.AIFF);
25  		mediaTypes.put("audio/x-aiff", AudioFileFormat.Type.AIFF);
26  	}
27  	
28  	public static AudioFileFormat.Type fromMediaType(String mediaType) {
29  		return mediaTypes.get(mediaType);
30  	}
31  }