You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
FFmpegAndroid/app/src/main/java/com/frank/ffmpeg/mp3/Mp3LameBuilder.java

147 lines
3.1 KiB

package com.frank.ffmpeg.mp3;
public class Mp3LameBuilder {
public enum Mode {
STEREO, JSTEREO, MONO, DEFAULT
}
public enum VbrMode {
VBR_OFF, VBR_RH, VBR_MTRH, VBR_ABR, VBR_DEFAUT
}
int inSampleRate;
int outSampleRate;
int outBitrate;
int outChannel;
public int quality;
int vbrQuality;
int abrMeanBitrate;
int lowPassFreq;
int highPassFreq;
float scaleInput;
Mode mode;
VbrMode vbrMode;
String id3tagTitle;
String id3tagArtist;
String id3tagAlbum;
String id3tagComment;
String id3tagYear;
Mp3LameBuilder() {
this.id3tagTitle = null;
this.id3tagAlbum = null;
this.id3tagArtist = null;
this.id3tagComment = null;
this.id3tagYear = null;
this.inSampleRate = 44100;
this.outSampleRate = 0;
this.outChannel = 2;
this.outBitrate = 128;
this.scaleInput = 1;
this.quality = 5;
this.mode = Mode.DEFAULT;
this.vbrMode = VbrMode.VBR_OFF;
this.vbrQuality = 5;
this.abrMeanBitrate = 128;
this.lowPassFreq = 0;
this.highPassFreq = 0;
}
Mp3LameBuilder setQuality(int quality) {
this.quality = quality;
return this;
}
Mp3LameBuilder setInSampleRate(int inSampleRate) {
this.inSampleRate = inSampleRate;
return this;
}
Mp3LameBuilder setOutSampleRate(int outSampleRate) {
this.outSampleRate = outSampleRate;
return this;
}
Mp3LameBuilder setOutBitrate(int bitrate) {
this.outBitrate = bitrate;
return this;
}
Mp3LameBuilder setOutChannels(int channels) {
this.outChannel = channels;
return this;
}
Mp3LameBuilder setId3tagTitle(String title) {
this.id3tagTitle = title;
return this;
}
Mp3LameBuilder setId3tagArtist(String artist) {
this.id3tagArtist = artist;
return this;
}
Mp3LameBuilder setId3tagAlbum(String album) {
this.id3tagAlbum = album;
return this;
}
Mp3LameBuilder setId3tagComment(String comment) {
this.id3tagComment = comment;
return this;
}
Mp3LameBuilder setId3tagYear(String year) {
this.id3tagYear = year;
return this;
}
Mp3LameBuilder setScaleInput(float scaleAmount) {
this.scaleInput = scaleAmount;
return this;
}
Mp3LameBuilder setMode(Mode mode) {
this.mode = mode;
return this;
}
Mp3LameBuilder setVbrMode(VbrMode mode) {
this.vbrMode = mode;
return this;
}
Mp3LameBuilder setVbrQuality(int quality) {
this.vbrQuality = quality;
return this;
}
Mp3LameBuilder setAbrMeanBitrate(int bitrate) {
this.abrMeanBitrate = bitrate;
return this;
}
Mp3LameBuilder setLowpassFreqency(int freq) {
this.lowPassFreq = freq;
return this;
}
Mp3LameBuilder setHighpassFreqency(int freq) {
this.highPassFreq = freq;
return this;
}
Mp3Lame build() {
return new Mp3Lame(this);
}
}