Kotlin MediaStore, как я могу создать аудиофайл в той же папке, что и другой отсканированный аудиофайл?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Kotlin MediaStore, как я могу создать аудиофайл в той же папке, что и другой отсканированный аудиофайл?

Сообщение Anonymous »

Я создаю приложение для музыкального проигрывателя, используя Android Studio в Kotlin. Я использую MediaStore, чтобы найти аудиофайлы из mediastore.adio.media.external_content_uri . Я хочу обрезать и сохранить обрезанную версию песни в том же каталоге, что и старая песня, поэтому я могу открыть ее, используя MediaStore. и работает отлично?). Затем я увидел, что его необходимо сохранить с помощью mediastore insert () , но он не может добавить ко всем папкам внутри mediastore.adio.media.external_content_uri из -за хранения Когда я работал с переименованием или удалением уже существующих песен, у меня не было проблем с использованием mediastore.createwRiteRequest (ContentResolver, URI) для получения доступа, но я не знаю, как получить URI для файла, который еще не создан (я предполагаю его невозможно?). Вот текущий код: < /p>

Код: Выделить всё

private fun trimAudio() {
try {
path?.let{
val tempPath = File(context.cacheDir, "temp.${extension(it)}")
val mediaItem = MediaItem.Builder()
.setUri(uri)
.setClippingConfiguration(ClippingConfiguration.Builder()
.setStartPositionMs(start)
.setEndPositionMs(end)
.build())
.build()
val transformer = Transformer.Builder(context)
.addListener(object: Transformer.Listener {
override fun onCompleted(composition: Composition, result: ExportResult) {
Log.d("Trim", "Successful temporary")
registerSong(tempPath)
}

override fun onError(composition: Composition, result: ExportResult,
exception: ExportException
) {
Log.d("Trim", exception.message.toString())
}
})
.build()
transformer.start(mediaItem, tempPath.absolutePath)
}
}
catch(e: Exception) {
Log.d("Trim", "Error")
}
}

private fun registerSong(tempPath: File) {
song.mediaMetadata.extras?.let {
val values = ContentValues().apply {
put(MediaStore.Audio.Media.IS_PENDING, 1)
put(MediaStore.Audio.Media.DISPLAY_NAME, uniqueName(path))
put(MediaStore.Audio.Media.MIME_TYPE, song.mediaMetadata.extras?.getString("mime_type"))
put(MediaStore.Audio.Media.RELATIVE_PATH, it.getString("relative_path"))
}
val resolver = context.contentResolver
val uri = resolver.insert(MediaStore.Audio.Media.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY), values)
//            uri?.let {
//                resolver.openOutputStream(uri).use { out ->
//                    val inputStream = tempPath.inputStream()
//                    inputStream.copyTo(out!!)
//                }
//                values.clear()
//                values.put(MediaStore.Audio.Media.IS_PENDING, 0)
//                resolver.update(uri, values, null, null)
//                Log.d("Trim", "Successfully registered song!")
//            }
}
}
Вот ошибка:
Java.lang.illegalargumentException: Загрузка первичного каталога не разрешена для контента: // media/external_primary/audio/media; Разрешенными каталогами являются [тревоги, аудиокниги, музыка, уведомления, подкасты, записи, рингтоны]

Подробнее здесь: https://stackoverflow.com/questions/795 ... other-scan
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Kotlin MediaStore, как я могу создать аудиофайл в той же папке, что и другой отсканированный аудиофайл?
    Anonymous » » в форуме Android
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как получить данные из MediaStore.File и MediaStore.File.FileColumn
    Anonymous » » в форуме Android
    0 Ответы
    75 Просмотры
    Последнее сообщение Anonymous
  • PDF-файл, отсканированный с помощью OCR [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • PDF-файл, отсканированный с помощью OCR [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Кажется, не могу воспроизвести аудиофайл в моем приложении laravel. Я сохранил аудиофайл в локальном хранилище, когда пы
    Anonymous » » в форуме Php
    0 Ответы
    78 Просмотры
    Последнее сообщение Anonymous

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