问题是这个。我正在发送音乐文件。我一直收到错误消息422。由于这个原因,我似乎无法正确定位我的身体
Content-Disposition: form-data; name="Content-Disposition: form-data;
name="audio[file]"; filename="tr.mp3""
Content-Transfer-Encoding: binary
Content-Type: audio/mpeg
Content-Length: 6028060
和我的代码
@Multipart
@Headers({"Content-Type: multipart/form-data;", "Accept:application/json, text/plain, */*"})
@POST("audios")
Call<SoundResponse> saveSound(@Part ("Content-Disposition: form-data; name=\"audio[file]\"; filename=\"tr.mp3\"") RequestBody file,
@Query("auth_token") String authToken);
并调用此方法
RequestBody body = RequestBody.create(MediaType.parse("audio/mpeg"), file);
GeoService.saveSound(body,SoundResponseCallback, getAuthToken());
我还发现这个东西
通过Reform2将文件作为对象发送到服务器
在我看来,问题是该字段看起来像“音频[文件]”
谢谢你的帮助
我找到了问题的答案。解决方案是必须将文件转换为字节
private void sendFile(Uri data) {
mParent.showProgress();
MultipartBody.Part file = packFile(view.getContext(), "audio[file]", data);
GeoService.saveSound(file, SoundResponseCallback, getAuthToken());
}
@Nullable
public static MultipartBody.Part packFile(@NonNull Context context, @NonNull String partName, @Nullable Uri fileUri) {
if (fileUri == null) return null;
ContentResolver cr = context.getContentResolver();
String tp = cr.getType(fileUri);
if (tp == null) {
tp = "audio";
}
try {
InputStream iStream = context.getContentResolver().openInputStream(fileUri);
byte[] inputData = getBytes(iStream);
RequestBody requestFile = RequestBody.create(MediaType.parse(tp), inputData);
return MultipartBody.Part.createFormData(partName, fileUri.getLastPathSegment(), requestFile);
} catch (Exception e) {
return null;
}
}
@Nullable
private static byte[] getBytes(@Nullable InputStream inputStream) throws IOException {
if (inputStream == null) return null;
ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
int len = 0;
while ((len = inputStream.read(buffer)) != -1) {
byteBuffer.write(buffer, 0, len);
}
return byteBuffer.toByteArray();
}
我尝试使用< code >翻新发送音频文件,但是< code>ResponseBody总是为空,状态为< code>500内部服务器错误,我尝试了许多不同的方法,但是没有任何效果 邮递员截图: 身体 标题 我的客户: addAudioComment方法: 请求:
我使用相同的代码成功地发送了许多带有图像(jpg文件)的消息。我会尝试mp3、mp4、ogg和aac文件类型,但不起作用。 这是Twilio控制台中的错误消息: 错误-12300无效的内容类型Twilio无法处理提供的URL的内容类型。有关有效内容类型的更多信息,请参见Twilio标记XML文档。 消息Msg“试图检索MediaUrl返回了不受支持的内容类型。”
问题内容: 我有200多个MP3文件,我需要使用静音检测来拆分其中的每个文件。我尝试了Audacity和WavePad,但它们没有批处理过程,将它们一一制作很慢。 场景如下: 分割曲目,而静音2秒或更长时间 然后在这些音轨的开头和结尾添加0.5 s并将其另存为.mp3 BitRate 192立体声 标准化卷以确保所有文件的卷和质量相同 我尝试了FFmpeg,但没有成功。 问题答案: 我发现pydu
我对ffmpeg相当陌生,我正试图用另一个文件替换第一个音频文件的一部分。第二个文件可能太短,因此应该存在某种循环。 经过一些研究,我提出了以下命令参数,只要我只做一次替换,它就会给出输出。但我想做多个替换。我做错了什么有什么帮助吗?也非常欢迎对工作方式提出任何建议/意见。 (以下命令中的任何错别字都可以忽略,我通过脚本生成命令,为了便于使用,我简化了名称。) 作品(更换1件):
尝试使用mediacontroller通过url播放音频文件 但我有一个错误: 09-11 10:28:23.970:E/MediaPlayer(912):尝试在没有有效MediaPlayer的情况下调用getDuration 09-11 10:28:23.970:E/MediaPlayer(912):错误(-38,0)09-11 10:28:23.990:E/MediaPlayer(912):尝
问题内容: 我有一个特定的Web服务,期望将JSON作为发布内容,并将向后吐出XML。我正在对所有网络通话使用Retrofit。这是我使用XML转换器设置Retrofit适配器的方式: 如您所见,我没有使用Gson转换器。我如何设法发布任何JSON?谢谢! 问题答案: 创建自定义。这将使用不同的转换器进行序列化和反序列化。 用法: