Java 无法使用Mediarecorder将录制的Mp3文件发送到服务器,服务器接收失败

Java 无法使用Mediarecorder将录制的Mp3文件发送到服务器,服务器接收失败,java,android,retrofit2,Java,Android,Retrofit2,上传.mp3文件到服务器后,人工操作是可以的,但是。通过改造服务器接收Null,通过改造创建多部分请求 @Multipart @POST("disposition") public Call<StartCallingResponse> postcallDispotions(@PartMap HashMap<String, RequestBody> map,@Part MultipartBody.Part file); RequestBody requestBody

上传
.mp3
文件到服务器后,人工操作是可以的,但是。通过改造服务器接收Null,通过改造创建多部分请求

@Multipart
@POST("disposition")
public Call<StartCallingResponse> postcallDispotions(@PartMap HashMap<String, RequestBody> map,@Part  MultipartBody.Part file);


RequestBody requestBody = RequestBody.create(MediaType.parse("audio/mp3*"), file);
MultipartBody.Part fileToUpload = MultipartBody.Part.createFormData("file", file.getName(), requestBody);
Call<StartCallingResponse> call = RetrofitClient.getInstance(getActivity()).getApiServices().postcallDispotions(map,fileToUpload );


  AudioManager manager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        manager.setStreamVolume(AudioManager.STREAM_VOICE_CALL, manager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL), 0);
        mediaRecorder = new MediaRecorder();
        mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mediaRecorder.setAudioEncodingBitRate(196000);
        mediaRecorder.setAudioSamplingRate(44100);

        mediaRecorder.setAudioChannels(1);
        mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
        mediaRecorder.getMaxAmplitude();


        mediaRecorder.setOutputFile(getFilename());
@Multipart
@职位(“处置”)
公共调用postcalldispositions(@PartMap HashMap-map,@Part MultipartBody.Part文件);
RequestBody RequestBody=RequestBody.create(MediaType.parse(“音频/mp3*”),文件);
MultipartBody.Part fileToUpload=MultipartBody.Part.createFormData(“文件”,file.getName(),requestBody);
Call Call=conversionclient.getInstance(getActivity()).getApiServices().postcalldispositions(map,fileToUpload);
AudioManager=(AudioManager)context.getSystemService(context.AUDIO\u服务);
manager.setStreamVolume(AudioManager.STREAM\u VOICE\u CALL,manager.getStreamMaxVolume(AudioManager.STREAM\u VOICE\u CALL),0);
mediaRecorder=新的mediaRecorder();
mediaRecorder.setAudioSource(mediaRecorder.AudioSource.MIC);
mediaRecorder.setAudioEncodingBitRate(196000);
mediaRecorder.setAudioSamplingRate(44100);
mediaRecorder.SetAudioChannel(1);
setOutputFormat(mediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setAudioEncoder(mediaRecorder.AudioEncoder.AAC);
mediaRecorder.getMaxAmplificate();
setOutputFile(getFilename());

MediaType.parse(“音频/mp3”)
更改为
MediaType.parse(“多部分/表单数据”)
并尝试一下。如果它不起作用。请提供问题和post服务器详细信息。您好,它不起作用,我尝试了MediaType.parse(“多部分/表单数据”)、MediaType.parse(“音频/mp3”)MediaType.parse(“音频/*”)MediaType.parse(“*/*”)但处理图像很好。另一个示例mp3文件已上载,但录制的mp3文件未上载服务器不接受。这两个文件的格式相同,大小也相似,我检查了邮递员也同样的问题。正如我在前面的评论中提到的,为了理解这个问题,我们需要检查您的服务器代码。你能回答这个问题并把文件接收部分贴在服务器上吗?还有邮递员客户端(正在工作)的截图?另外,请告诉我们您正在测试代码的Android操作系统版本。如果有任何(改装)日志,请张贴。没有这些信息,很难猜测根本原因。嗨,谢谢,问题解决了。在服务器代码中,提及允许的类型所有更改
MediaType.parse(“音频/mp3”)
MediaType.parse(“多部分/表单数据”)
,并尝试一下。如果它不起作用。请提供问题和post服务器详细信息。您好,它不起作用,我尝试了MediaType.parse(“多部分/表单数据”)、MediaType.parse(“音频/mp3”)MediaType.parse(“音频/*”)MediaType.parse(“*/*”)但处理图像很好。另一个示例mp3文件已上载,但录制的mp3文件未上载服务器不接受。这两个文件的格式相同,大小也相似,我检查了邮递员也同样的问题。正如我在前面的评论中提到的,为了理解这个问题,我们需要检查您的服务器代码。你能回答这个问题并把文件接收部分贴在服务器上吗?还有邮递员客户端(正在工作)的截图?另外,请告诉我们您正在测试代码的Android操作系统版本。如果有任何(改装)日志,请张贴。没有这些信息,很难猜测根本原因。嗨,谢谢,问题解决了。在服务器代码中提及允许的所有类型