android - 无法以正确的格式上传音频文件
问题描述
我正在尝试上传音频火,但它的格式不正确,当我播放下载的 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();
解决方案
推荐阅读
- mongodb - Mongo聚合集合和项目字段
- html - 文件输入占位符
- typescript - Switch 语句 - 类型“数字”与类型“字符串”不具有可比性
- python - 给定维度,如何获取 n-dim 数组的所有坐标
- python - 简化将数据帧拆分为多个数据帧
- ruby-on-rails - NoMethodError:未定义的方法 `eager_load_paths' 用于#
- javascript - 未单击 div 后触发事件侦听器
- c# - 延迟 2 个日期的 MongoDb 索引
- excel - 更新/编辑数据 - VBA Excel
- flutter - 如何根据我的文本长度扩展我的容器?