Как я могу автоматизировать продолжительность (и частоту) записи видео в Котлине? [ОБНОВЛЕНИЕ, 22 ноября 2024 г.] ТеперьJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как я могу автоматизировать продолжительность (и частоту) записи видео в Котлине? [ОБНОВЛЕНИЕ, 22 ноября 2024 г.] Теперь

Сообщение Anonymous »

Я работаю над приложением для видеозаписи спаррингов (в боксе). На более фундаментальной основе это должен быть цикл, который автоматически записывает столько времени (в минутах) и столько раз (раундов), сколько вводит пользователь. На данный момент это проверка концепции;
Пока мне удалось получить доступ к камере пользователя, но я не могу понять, как настроить автоматическую запись или сделать работа петли. Мне интересно, правильно ли я получаю доступ к камере или мне нужно внести изменения, или это вообще можно сделать в Kotlin.
Пользователь вводит три переменные:
Пользователь вводит три переменные:
p>
  • количество раундов, целое число
  • длина раундов, целое число
    breakRounds, целое число
Вот мой код:
private fun startRecordingLoop() {
val handler = Handler(Looper.getMainLooper())
var currentRound = 1

fun recordRound() {
if (currentRound 0 && breakRounds > 0) {
startRecordingLoop() // Begin the recording loop
} else {
Toast.makeText(this, "Please enter valid input values", Toast.LENGTH_SHORT).show()
}
} else {
Toast.makeText(this, "Permissions are required to start recording.", Toast.LENGTH_SHORT).show()
}
}
}

// Initialize app functionality after permissions are granted
private fun initializeApp() {
Log.d("MainActivity", "App is initializing...")
Toast.makeText(this, "App initialized successfully!", Toast.LENGTH_SHORT).show()
}

// Check if all required permissions are granted
private fun allPermissionsGranted(): Boolean {
val missingPermissions = REQUIRED_PERMISSIONS.filter { permission ->
ContextCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED
}
Log.d("MainActivity", "Missing permissions: $missingPermissions")
return missingPermissions.isEmpty()
}

// Request all necessary permissions
private fun requestPermissions() {
ActivityCompat.requestPermissions(this, REQUIRED_PERMISSIONS, 102)
}

override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)

if (requestCode == 102) {
val deniedPermissions = permissions.filterIndexed { index, _ ->
grantResults[index] != PackageManager.PERMISSION_GRANTED
}

if (deniedPermissions.isEmpty()) {
Log.d("MainActivity", "All permissions granted!")
initializeApp() // Call initializeApp only when permissions are granted
} else {
permissionAttempts++
if (permissionAttempts < 3) {
Toast.makeText(
this,
"Permissions denied: $deniedPermissions. Grant them to continue.",
Toast.LENGTH_LONG
).show()
requestPermissions()
} else {
showPermissionExplanation(deniedPermissions)
}
}
}
}

// Show a dialog explaining why permissions are needed
private fun showPermissionExplanation(deniedPermissions: List) {
AlertDialog.Builder(this)
.setTitle("Permissions Required")
.setMessage("The app requires the following permissions to function: $deniedPermissions. Please grant them in Settings.")
.setPositiveButton("Go to Settings") { _, _ ->
val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
intent.data = Uri.parse("package:$packageName")
startActivity(intent)
}
.setNegativeButton("Exit") { _, _ ->
finish()
}
.show()
}

// Loop to handle recording rounds
private fun startRecordingLoop() {
var currentRound = 1

fun recordRound() {
if (currentRound

Подробнее здесь: https://stackoverflow.com/questions/792 ... n-update-n
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»