Media Player无法播放音频

时间:2019-04-27 23:24:29

标签: java android android-mediaplayer

我正在开发一个包含带有一些音频播放器的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 个答案:

答案 0 :(得分:1)

尝试更换:

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

具有:

mediaPlayer.create(context, Uri.fromFile(new File(path)));
相关问题