首页 > 解决方案 > 无法以正确的格式上传音频文件

问题描述

我正在尝试上传音频火,但它的格式不正确,当我播放下载的 URL 时只是挂断电话

  private void uploadFileToDataBase(Uri uriMain, final String type, String meta) {
    StorageMetadata metadata = new StorageMetadata.Builder()
            .setContentType(meta)
            .build();

    UserFirebase.getmStorageRef().child("Audio").child(uriMain.getLastPathSegment()).putFile(uriMain, metadata)
            .addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                    Task<Uri> uri = taskSnapshot.getStorage().getDownloadUrl();
                    while (!uri.isComplete()) ;
                    Uri url = uri.getResult();
                    sendFirebaseMessage(String.valueOf(url), type);
                }
            });

}

这就是我获取音频文件的方式

   public void MediaRecorderReady() {
    mediaRecorder = new MediaRecorder();
    mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    mediaRecorder.setOutputFile(AudioSavePathInDevice);
    mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
}

我正在播放这样的音频

   player = new MediaPlayer();
                    player.setAudioStreamType(AudioManager.STREAM_MUSIC);
                    player.setDataSource(context, Uri.parse(firbaseUrl);
                    player.prepare();
                    player.start();

标签: androidfirebasefirebase-realtime-databaseandroid-mediaplayerfirebase-storage

解决方案


推荐阅读