Skip to content

Commit b94cc70

Browse files
authored
Merge pull request jonataslaw#70 from themadmrj/master
Added video trimming on Android
2 parents 82df027 + 6b888fc commit b94cc70

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

android/src/main/kotlin/com/example/video_compress/VideoCompressPlugin.kt

+10-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import android.net.Uri
55
import android.util.Log
66
import com.otaliastudios.transcoder.Transcoder
77
import com.otaliastudios.transcoder.TranscoderListener
8+
import com.otaliastudios.transcoder.source.TrimDataSource
9+
import com.otaliastudios.transcoder.source.UriDataSource
810
import com.otaliastudios.transcoder.strategy.DefaultAudioStrategy
911
import com.otaliastudios.transcoder.strategy.DefaultVideoStrategy
1012
import com.otaliastudios.transcoder.strategy.RemoveTrackStrategy
@@ -125,9 +127,16 @@ class VideoCompressPlugin : MethodCallHandler, FlutterPlugin {
125127
RemoveTrackStrategy()
126128
}
127129

130+
val dataSource = if (startTime != null || duration != null){
131+
val source = UriDataSource(context, Uri.parse(path))
132+
TrimDataSource(source, (1000 * 1000 * (startTime ?: 0)).toLong(), (1000 * 1000 * (duration ?: 0)).toLong())
133+
}else{
134+
UriDataSource(context, Uri.parse(path))
135+
}
136+
128137

129138
transcodeFuture = Transcoder.into(destPath!!)
130-
.addDataSource(context, Uri.parse(path))
139+
.addDataSource(dataSource)
131140
.setAudioTrackStrategy(audioTrackStrategy)
132141
.setVideoTrackStrategy(videoTrackStrategy)
133142
.setListener(object : TranscoderListener {

0 commit comments

Comments
 (0)