共享音频 wav 文件



我想使用 android 共享音频文件,但没有找到任何有效的解决方案。

在"我的应用"中,应用每次在应用目录中记录并保存名为audio_1.wav的音频文件,然后提供共享选项。因此,它始终共享具有相同名称(audio_1.wav(的文件。

还检查了它是否正确创建文件。我尝试使用以下代码共享音频文件;

File f = new File(sharePath);
Uri uri = Uri.parse(f.getAbsolutePath());
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("audio/*");
share.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(share, "Share Sound File"));

但是,在共享和选择任何应用程序时,它显示无法附加文件

还对牛轧糖设备使用了FileProvider类,但它的效果不佳。还检查了多个SO链路:

共享音频文件

拿起一个音频文件 安卓

关于您拥有的代码:

  • Uri uri = Uri.parse(f.getAbsolutePath());替换为 Uri uri = Uri.fromFile(f); ,以获得有效的Uri

  • 使用 audio/wav 而不是 audio/* 作为 MIME 类型

您的代码将在 Android 7.0+ 上崩溃,并显示FileUriExposedException。为此,请使用FileProvider,在元数据 XML 资源中使用<external-path>并将FLAG_GRANT_READ_URI_PERMISSION标志添加到Intent 中。有关详细信息,请参阅文档。

相关内容

最新更新