首页 > 解决方案 > 如何使用 volley 从 Android 将 mp3 音频文件上传到 php?

问题描述

我想上传一个位于 android 本地文件夹中的 mp3 文件,文件在 android 中可以正常播放。当我使用base64 编码上传时,服务器上的文件太小,无法播放,所以我猜不是正确的mp3文件。

我目前将其用于图像,并且效果很好:

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                bitmap.compress(Bitmap.CompressFormat.JPEG, 95, byteArrayOutputStream);
                String encodedImage = Base64.encodeToString(byteArrayOutputStream.toByteArray(), Base64.DEFAULT);

这是用于音频上传:

private void UploadAudio() {

           try {
            jsonObject = new JSONObject();
            Uri uri = Uri.fromFile(new File(fileName));
            jsonObject.put("name", "myaudiorecording.mp3");
            jsonObject.put("audio", uri);

        } catch (JSONException e) {
            Log.e("JSONObject Here", e.toString());
        }


        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, "http://ip/audioUpload.php", jsonObject,
                new Response.Listener<JSONObject>() {

                    @Override
                    public void onResponse(JSONObject jsonObject) {

                        int responseCode = jsonObject.optInt("success");

                        Log.e("upload", "Success");

                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {

                Log.e("upload", volleyError.toString());

            }

        });
}

标签: javaphpandroidmp3encode

解决方案


推荐阅读