gpt4 book ai didi

android - 通过FTP将.mp3文件下载到我的应用中会更改文件的质量

转载 作者:行者123 更新时间:2023-12-03 01:31:02 37 4
gpt4 key购买 nike

我的小型游戏应用程序使用FTP下载一些.mp3声音。自从免费虚拟主机升级以来,出现了质量问题。当电视出现信号问题时,声音播放时会有些杂音,类似于该杂音。我没有对代码进行任何更改,并且文件下载正确,下载后文件大小,持续时间和比特率均未更改。

我已经检查过的内容:

  • 问题出现在所有设备上
  • 在浏览器(PC和手机)中播放的
  • 声音都可以
  • 从站点下载到PC或移动设备上的
  • 声音还可以
  • 以前从同一应用程序屏幕(或应用程序中任何其他位置)上播放的免费虚拟主机上下载的
  • 声音都可以。
  • 旧声音(在应用程序中正常运行)重新上传到新站点并由应用程序重新下载会产生相同的问题

  • 因此,从字面上看,只有我的应用从新服务器下载的文件质量不好。
    // This is only a part of code, but it's working correctly for more than 2 years now

    for (FTPFile file : ftpFiles) {
    String name = file.getName();
    OutputStream outputStream;

    if (name.endsWith(".zip") && Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
    // Application auto-update
    if (Build.VERSION.SDK_INT >= 23 && checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED)
    {
    continue;
    }
    outputStream = new FileOutputStream(path);
    editor.putBoolean("newAppAvailable", true).apply();
    } else {
    File localFile = new File(LoadingScreen.this.getFilesDir() + getResources().getString(R.string.slash) + name);
    outputStream = new BufferedOutputStream(new FileOutputStream(localFile));
    }

    ftp.retrieveFile(name, outputStream);
    outputStream.close();
    }

    我能想到的唯一原因是文件的数量。下载时文件数量是否可能增加?以前有人遇到过这样的问题吗?

    编辑:所以,至少我发现了复制的结果。原始示例文件长度为15.1s。在音乐程序中播放复制的文件将显示相同的长度,并且持续时间为15.1s。但是,使用Goldwave我发现复制的文件被加速并在13.8s结束!

    EDIT2:我也尝试过压缩所有声音并在应用程序中解压缩-这是难以置信的,但是只有一种声音能够解压缩,完全损坏...而且,压缩文件无法通过PC看到。

    最佳答案

    默认文件类型可能是ASCII,这导致了问题。解决方案是在连接后进行更改:

    ftp.setFileType(FTP.BINARY_FILE_TYPE);

    关于android - 通过FTP将.mp3文件下载到我的应用中会更改文件的质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57926734/

    37 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com