如何将音频(3gp)文件上传到Firebase存储?

问题描述 投票:0回答:1

我对我的应用进行了记录活动,但无法将其正确上传到Firebase存储。我尝试根据Google发布的图片上传示例构建上传过程,并上传了一个空文件(0KB)。录制过程运行良好,我单击了播放按钮进行检查,因此我知道这只是一个问题,我不知道如何将其正确上传到云。

[大家都欢迎使用git中的弹出记录活动:https://github.com/tidharon/Popup-Record-Window-App

这里是我的上传代码:

recRef = storage.getReference(lastAct + " Records").child(lastTitle);
                metadata = new StorageMetadata.Builder().setCustomMetadata(lastID, outputFile).build();


                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                byte[] daata = baos.toByteArray();
                uploadTask = (UploadTask) recRef.putBytes(daata, metadata).addOnCompleteListener(new OnCompleteListener<UploadTask.TaskSnapshot>() {
                    @Override
                    public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
                        recURL = recRef.toString();
                        getIntent().putExtra("recURL", recURL);
                    }
                });

recRef是一个StorageReference元素。元数据是一个StorageMetadate元素。lastID是连接到记录的文本文档的ID。outputFile是存储记录的目录

这是记录过程的准备:

outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + ("/" + lastAct + " | " + lastID + " | " + date + ".3gp");
    myAudioRecorder = new MediaRecorder();
    myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    myAudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
    myAudioRecorder.setOutputFile(outputFile);

提前感谢!

java audio firebase-storage 3gp
1个回答
0
投票

使用此命令检查是什么引起了问题

.addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {
                            Toast.makeText(MyContext, e.toString(), Toast.LENGTH_LONG).show();
                        }
                    })

在代码中的addOnCompleteListener关闭之后

© www.soinside.com 2019 - 2024. All rights reserved.