Media Player не воспроизводит аудио - PullRequest
0 голосов
/ 28 апреля 2019

Я занимаюсь разработкой приложения, которое содержит RecyclerView с некоторыми аудиоплеерами.Приложение загрузит файлы .3gp, если они не были загружены.

Когда я нажимаю кнопку playAudio, звук не воспроизводится.

Вот код моего адаптера:

        else if(  item.getTipo().equals(AUDIO)){
            MediaPlayer mediaPlayer = new MediaPlayer();
            File folder = new File(Environment.getExternalStorageDirectory() +
                    File.separator    + "Audios");
            File file = new File(folder.getPath() + File.separator
                    +   item.getNomeArquivo());
                FirebaseStorage storage = FirebaseStorage.getInstance();
                StorageReference httpsReference = storage.getReferenceFromUrl(  item.getAudio());
                File localFile = null;
                boolean success = true;
                if (!folder.exists()) {
                    success = folder.mkdirs();
                }
                if (success) {
                    localFile = new File(folder.getPath() + File.separator
                            +   item.getNomeArquivo());
                    File finalLocalFile = localFile;
                    httpsReference.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
                        @Override
                                public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
                                    Toast.makeText(context,"Baixado",Toast.LENGTH_SHORT);
                                    holder.progressAudio.setVisibility(View.GONE);
                                    holder.playAudio.setVisibility(View.VISIBLE);
                                    holder.playAudio.setOnClickListener(new View.OnClickListener() {
                                        @Override
                                        public void onClick(View v) {

                                            if(mediaPlayer != null){
                                                String path = Environment.getExternalStorageDirectory() +
                                                        File.separator    + "Audios" + File.separator
                                                        +   item.getNomeArquivo();
                                                Log.i("PATHA",path);
                                                mediaPlayer.create(context,Uri.parse(path));
                                                mediaPlayer.setVolume(50,50);
                                                mediaPlayer.start();
                                            }

                                        }
                                    });
                                }
                            }).addOnFailureListener(new OnFailureListener() {
                                @Override
                                public void onFailure(@NonNull Exception exception) {
                                    // Handle any errors
                                    Toast.makeText(context,"Erro ao fazer download",Toast.LENGTH_SHORT);
                                }
                            });
                        } else {
                            Toast.makeText(context, "Erro ao criar arquivo", Toast.LENGTH_SHORT).show();
                        }
        }

Как я могу это исправить?

1 Ответ

1 голос
/ 28 апреля 2019

Попробуйте заменить:

mediaPlayer.create(context,Uri.parse(path));

с:

mediaPlayer.create(context, Uri.fromFile(new File(path)));
...