简体   繁体   English

通过 http retrofit2 请求发送 WAV 文件 - Android Studio

[英]Send WAV files though http retrofit2 requests - Android Studio

I'm running a Machine Learning model on a server that works with WAV files.我正在使用 WAV 文件的服务器上运行机器学习 model。 Can I send WAV files stored in mobile phone through HTTP requests with Android Studio, in WAV form?我可以使用 Android Studio 通过 HTTP 请求以 WAV 格式发送存储在手机中的 WAV 文件吗?

So far I'm making (get) requests using retrofit2 like this:到目前为止,我正在使用 retrofit2 发出(获取)请求,如下所示:

MainActivity.java: MainActivity.java:

private void getbuttonclicked() {
    Call call = RequestManager.INSTANCE.getService().getChords();
    call.enqueue((Callback)(new Callback() {public void onResponse(@NotNull Call call, @NotNull Response response) {
        Intrinsics.checkParameterIsNotNull(call, "call");
        Intrinsics.checkParameterIsNotNull(response, "response");
        if (response.isSuccessful()) {
            ((TextView) findViewById(R.id.output_text)).setText("REQUEST OK");
        }
    }

DataManager.kt:数据管理器.kt:

object RequestManager {
    val interceptor = HttpLoggingInterceptor()
    val client = OkHttpClient.Builder().addInterceptor(interceptor).build()


    init {
        interceptor.level = HttpLoggingInterceptor.Level.BODY
    }

    val retrofit = Retrofit.Builder()
            .baseUrl("http://myip/")
            .addConverterFactory(GsonConverterFactory.create())
            .client(client)
            .build()

    val service = retrofit.create(Api::class.java)

}

Api.kt: Api.kt:

interface Api {
    @GET(".")
    fun getChords(): Call<chord_model>
}

chord_model.java: chord_model.java:

public class chord_model {
    @SerializedName("Chords")
    @Expose
    private List<String> chords = null;
    @SerializedName("Bass")
    @Expose
    private List<String> bass = null;

    public List<String> getChords() {
        return chords;
    }

    public void setChords(List<String> chords) {
        this.chords = chords;
    }

    public List<String> getBass() {
        return bass;
    }

    public void setBass(List<String> bass) {
        this.bass = bass;
    }

}

I suppose I'll have to use post requests, but how do I send a whole file?我想我将不得不使用发布请求,但是如何发送整个文件?

You should check this article:你应该检查这篇文章:

https://www.c-sharpcorner.com/article/upload-files-to-server-using-retrofit-2-in-android/ https://www.c-sharpcorner.com/article/upload-files-to-server-using-retrofit-2-in-android/

Basically you'll be sending a POST request.基本上你会发送一个 POST 请求。 Using postman,it would be something like this:使用 postman,它会是这样的: 在此处输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM