android video trimmer
1.7.19
Für eine funktionierende Implementierung schauen Sie sich bitte das Beispielprojekt an
build.gradle
Datei hinzu // replace x.y.z with latest available jitpack version
dependencies {
implementation ' com.github.a914-gowtham:android-video-trimmer:x.y.z '
}
build.gradle
des Projekts hinzufügen: allprojects {
repositories {
maven { url ' https://jitpack.io ' }
}
}
//Java
ActivityResultLauncher < Intent > startForResult = registerForActivityResult (
new ActivityResultContracts . StartActivityForResult (),
result -> {
if ( result . getResultCode () == Activity . RESULT_OK &&
result . getData () != null ) {
Uri uri = Uri . parse ( TrimVideo . getTrimmedVideoPath ( result . getData ()));
Log . d ( TAG , "Trimmed path:: " + uri );
} else
LogMessage . v ( "videoTrimResultLauncher data is null" );
});
// Kotlin
val startForResult = registerForActivityResult( ActivityResultContracts . StartActivityForResult ()) {
result : ActivityResult ->
if (result.resultCode == Activity . RESULT_OK &&
result.getData() != null ) {
Uri uri = Uri .parse( TrimVideo .getTrimmedVideoPath(result.getData()))
Log .d( TAG , " Trimmed path:: " + uri)
} else
LogMessage .v( " videoTrimResultLauncher data is null " );
}
TrimVideo . activity ( String . valueOf ( videoUri ))
. setHideSeekBar ( true )
. start ( this , startForResult );
TrimVideo . activity ( String . valueOf ( videoUri ))
. setHideSeekBar ( true )
. start ( this , startForResult );
TrimVideo . activity ( String . valueOf ( videoUri ))
. setAccurateCut ( true )
. setHideSeekBar ( true )
. start ( this , startForResult );
. setCompressOption ( new CompressOption ( frameRate , bitRate , width , height )) //pass empty constructor for default compressoption
FrameRate
Die empfohlene FrameRate beträgt 30BitRate
Bitrate kann zwischen 150.000 und 1.000.000 oder 1 Mio. bis 10 Mio. liegen. Eine niedrigere Bitrate kann die Qualität und Größe des Videos verringern. Verwenden Sie 1M für eine qualitativ hochwertige AusgabeWidth
Breite des Videoausgabevideos.Height
Höhe des Videoausgabevideos. TrimmerUtils.getVideoWidthHeight(this,Uri.parse(videoUri));
Methode, um die Breite und Höhe des Videos zu ermitteln TrimVideo . activity ( String . valueOf ( videoUri ))
. setCompressOption ( new CompressOption ( 30 , "1M" , 460 , 320 )) //pass empty constructor for default compress values
. setHideSeekBar ( true )
. start ( this , startForResult );
//You could divide the width and height by 2. when try to compress a large resolution videos ex:Taken from camera
/*int[] wAndh=TrimmerUtils.getVideoWidthHeight(this,Uri.parse(videoUri));
int width=wAndh[0];
int height=wAndh[1];
if(wAndh[0]>800){
width/=2;
width/=2;
.setCompressOption(new CompressOption(30,"1M",width,height))
}else
.setCompressOption(new CompressOption(30,"400k",width,height))
*/
. setHideSeekBar ( true ) //default value is false
TrimVideo . activity ( videoUri )
. start ( this , startForResult );
TrimVideo . activity ( videoUri )
. setTrimType ( TrimType . FIXED_DURATION )
. setFixedDuration ( 30 ) //seconds
. start ( this , startForResult );
TrimVideo . activity ( videoUri )
. setTrimType ( TrimType . MIN_DURATION )
. setMinDuration ( 30 ) //seconds
. start ( this , startForResult );
TrimVideo . activity ( videoUri )
. setTrimType ( TrimType . MIN_MAX_DURATION )
. setMinToMax ( 10 , 30 ) //seconds
. start ( this , startForResult );
- dontwarn com.gowtham.library **
- keep class com.gowtham.library ** { * ; }
- keep interface com.gowtham.library ** { * ; }
Diese Bibliothek ist unter der MIT-Lizenz lizenziert.
Diese Bibliothek verwendet FFmpeg, das unter der LGPL v3.0 lizenziert ist.
Den Quellcode für FFmpeg erhalten Sie unter https://github.com/arthenica/ffmpeg-kit
Wenn Sie die in diesem Projekt verwendete FFmpeg-Bibliothek ersetzen oder ändern möchten, gehen Sie folgendermaßen vor:
library/build.gradle
.Zeigen Sie Ihre Unterstützung, indem Sie diesem Repository einen Stern geben.
Es gibt viele Möglichkeiten zur Verbesserung und zum Hinzufügen weiterer Funktionen. Sie können also gerne mit Ideen, Problemen und/oder Pull-Requests zusammenarbeiten.