Ошибка «Проигрыватель не поддерживает этот тип аудиофайлов» при запуске проигрывателя musi c с намерением - PullRequest
0 голосов
/ 03 мая 2020

Я получаю аудиобайт за байтом успешно и сохраняю его во внутреннем хранилище следующим способом:

    inputStream = url.openStream()

    val folder = File(MainApp.getContext().filesDir, "records")
    folder.mkdir()

    val FILENAME = "asd.mp3"
    fstream = FileOutputStream(File(folder, FILENAME))

    var c: Int = 0
    try {
        while (!isInputStreamClosed && inputStream .read().also { c = it } != -1) {
            fstream?.write(c)
        }
    } catch (e: Exception) {
        Log.d("stream", "write exception")
    }

А в другой операции я получаю сохраненный файл mp3 и при попытке воспроизвести этот файл с помощью Android проигрывателя по умолчанию:

    val builder = VmPolicy.Builder()
    StrictMode.setVmPolicy(builder.build())
    builder.detectFileUriExposure()

    val mydir = File(MainApp.getContext().filesDir, "records")
    val path = "${mydir}/asd.mp3"
    val intent = Intent(Intent.ACTION_VIEW)
    val file = File(path)

    intent.setDataAndType(Uri.fromFile(file), "audio/mp3")
    activity?.startActivity(intent)

Когда я пытаюсь воспроизвести сохраненный файл mp3 с помощью «MediaPlayer», проблем нет. Я хочу воспроизвести этот файл с помощью проигрывателя Android по умолчанию, но я получаю сообщение Toast: «Проигрыватель не поддерживает этот тип аудиофайлов». Это из-за использования внутренней памяти? Что мне делать? Заранее спасибо.

...