current stand: Debugging commands

This commit is contained in:
Myzel394 2023-11-16 20:48:45 +01:00
parent d69bc7f4b1
commit e237a5c99e
No known key found for this signature in database
GPG Key ID: 79CC92F37B3E1A2B
2 changed files with 20 additions and 2 deletions

View File

@ -4,11 +4,13 @@ import android.content.Context
import android.net.Uri import android.net.Uri
import android.system.Os import android.system.Os
import android.util.Log import android.util.Log
import androidx.core.content.ContentProviderCompat.requireContext
import androidx.core.net.toUri import androidx.core.net.toUri
import androidx.documentfile.provider.DocumentFile import androidx.documentfile.provider.DocumentFile
import app.myzel394.alibi.db.RecordingInformation import app.myzel394.alibi.db.RecordingInformation
import app.myzel394.alibi.ui.RECORDER_SUBFOLDER_NAME import app.myzel394.alibi.ui.RECORDER_SUBFOLDER_NAME
import com.arthenica.ffmpegkit.FFmpegKit import com.arthenica.ffmpegkit.FFmpegKit
import com.arthenica.ffmpegkit.FFmpegKitConfig
import com.arthenica.ffmpegkit.ReturnCode import com.arthenica.ffmpegkit.ReturnCode
import java.io.File import java.io.File
import java.time.format.DateTimeFormatter import java.time.format.DateTimeFormatter
@ -52,12 +54,17 @@ data class AudioRecorderExporter(
suspend fun concatenateFiles( suspend fun concatenateFiles(
context: Context, context: Context,
uri: Uri,
forceConcatenation: Boolean = false, forceConcatenation: Boolean = false,
): File { ): File {
val filePaths = getFilePaths(context) val filePaths = getFilePaths(context)
val paths = filePaths.joinToString("|") { val paths = filePaths.joinToString("|") {
it.path it.path
} }
val filePath = FFmpegKitConfig.getSafParameter(context, uri, "rw")
println("!!!!!!!!!!!!!!!!!!1")
println(getFolder(context).listFiles()?.map { it.name })
println(filePath)
val fileName = recording.recordingStart val fileName = recording.recordingStart
.format(DateTimeFormatter.ISO_DATE_TIME) .format(DateTimeFormatter.ISO_DATE_TIME)
.toString() .toString()
@ -69,7 +76,8 @@ data class AudioRecorderExporter(
return outputFile return outputFile
} }
val command = "-i 'concat:$paths' -y" + val command = "-protocol_whitelist saf,concat,content,file,subfile " +
"-i 'concat:${filePath}' -y" +
" -acodec copy" + " -acodec copy" +
" -metadata title='$fileName' " + " -metadata title='$fileName' " +
" -metadata date='${recording.recordingStart.format(DateTimeFormatter.ISO_DATE_TIME)}'" + " -metadata date='${recording.recordingStart.format(DateTimeFormatter.ISO_DATE_TIME)}'" +
@ -78,6 +86,10 @@ data class AudioRecorderExporter(
" -metadata max_duration='${recording.maxDuration}'" + " -metadata max_duration='${recording.maxDuration}'" +
" $outputFile" " $outputFile"
println("--------------------")
println(command)
println(outputFile)
val session = FFmpegKit.execute(command) val session = FFmpegKit.execute(command)
if (!ReturnCode.isSuccess(session.returnCode)) { if (!ReturnCode.isSuccess(session.returnCode)) {

View File

@ -108,7 +108,13 @@ fun AudioRecorderScreen(
audioRecorder.recorderService?.getRecordingInformation() audioRecorder.recorderService?.getRecordingInformation()
?: settings.lastRecording ?: settings.lastRecording
?: throw Exception("No recording information available"), ?: throw Exception("No recording information available"),
).concatenateFiles(context) ).concatenateFiles(
context,
DocumentFile.fromTreeUri(
context,
settings.audioRecorderSettings.saveFolder!!.toUri(),
)!!.findFile("1.aac")!!.uri,
)
saveFile(file, file.name) saveFile(file, file.name)
} catch (error: Exception) { } catch (error: Exception) {