Add capability to set audio codec to encode video files with. (#861)
	
		
	
				
					
				
			* Add capability to set audio codec to encode video files with. * Cleanup * Handle audio codec in SnapshotVideoRecorder.java * Remove two AMR codecs and VORBIS, replace if with switch * All chosen codecs in SnapshotVideoRecorder.java should use "audio/mp4a-latm". Setting DEVICE_DEFAULT to use it's actual value would change the behaviour of the class. * Match style of video codec switch block above.pull/806/merge
							parent
							
								
									edbade24a9
								
							
						
					
					
						commit
						4364ec7c3a
					
				| @ -0,0 +1,63 @@ | ||||
| package com.otaliastudios.cameraview.controls; | ||||
| 
 | ||||
| 
 | ||||
| import android.os.Build; | ||||
| 
 | ||||
| import androidx.annotation.NonNull; | ||||
| import androidx.annotation.RequiresApi; | ||||
| 
 | ||||
| import com.otaliastudios.cameraview.CameraView; | ||||
| 
 | ||||
| /** | ||||
|  * Constants for selecting the encoder of audio recordings. | ||||
|  * https://developer.android.com/guide/topics/media/media-formats.html#audio-formats
 | ||||
|  * | ||||
|  * @see CameraView#setAudioCodec(AudioCodec) | ||||
|  */ | ||||
| public enum AudioCodec implements Control { | ||||
| 
 | ||||
|     /** | ||||
|      * Let the device choose its codec. | ||||
|      */ | ||||
|     DEVICE_DEFAULT(0), | ||||
| 
 | ||||
|     /** | ||||
|      * The AAC codec. | ||||
|      */ | ||||
|     AAC(1), | ||||
| 
 | ||||
|     /** | ||||
|      * The HE_AAC codec. | ||||
|      */ | ||||
|     @RequiresApi(Build.VERSION_CODES.JELLY_BEAN) | ||||
|     HE_AAC(2), | ||||
| 
 | ||||
|     /** | ||||
|      * The AAC_ELD codec. | ||||
|      */ | ||||
|     @RequiresApi(Build.VERSION_CODES.JELLY_BEAN) | ||||
|     AAC_ELD(3); | ||||
| 
 | ||||
|     static final AudioCodec DEFAULT = DEVICE_DEFAULT; | ||||
| 
 | ||||
|     private int value; | ||||
| 
 | ||||
|     AudioCodec(int value) { | ||||
|         this.value = value; | ||||
|     } | ||||
| 
 | ||||
|     int value() { | ||||
|         return value; | ||||
|     } | ||||
| 
 | ||||
|     @NonNull | ||||
|     static AudioCodec fromValue(int value) { | ||||
|         AudioCodec[] list = AudioCodec.values(); | ||||
|         for (AudioCodec action : list) { | ||||
|             if (action.value() == value) { | ||||
|                 return action; | ||||
|             } | ||||
|         } | ||||
|         return DEFAULT; | ||||
|     } | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue