android - 共享音频文件

标签 android audio share

我正在尝试制作一个用于共享音频文件的按钮。这是行不通的。首先,我尝试直接从我的原始文件夹发送文件,而不是将其复制到手机卡上。那并没有解决我的问题。我尝试的第二件事是将文件保存到手机然后共享。将文件保存到手机的部分现在可以使用,但是当我尝试将音频文件共享到另一台设备时,所有兼容的应用程序都会崩溃(Whatsapp、Gmail 等)。

这是我的代码:

    String sharePath = Environment.getExternalStorageDirectory().getPath()
    + "/Soundboard/Ringtones/custom_ringtone.ogg";
    Intent share = new Intent(Intent.ACTION_SEND);
    share.setType("audio/*");
    share.putExtra(Intent.EXTRA_STREAM, sharePath);
    startActivity(Intent.createChooser(share, "Share Sound File"));

顺便说一下,音频文件是一个 .ogg 文件。我希望这些应用程序可以处理那种类型的文件。如果不是,我应该将其转换为 .mp3。

提前致谢!

最佳答案

好的,发现我做错了什么。对于有同样问题的人,我是这样解决的:

我忘了将字符串解析为 uri。那是我必须添加的唯一一行代码。 Uri uri = Uri.parse(sharePath);

这是完整的休息:

    String sharePath = Environment.getExternalStorageDirectory().getPath()
            + "/Soundboard/Ringtones/custom_ringtone.ogg";
    Uri uri = Uri.parse(sharePath);
    Intent share = new Intent(Intent.ACTION_SEND);
    share.setType("audio/*");
    share.putExtra(Intent.EXTRA_STREAM, uri);
    startActivity(Intent.createChooser(share, "Share Sound File"));

另外不要忘记添加权限 WRITE_EXTERNAL_STORAGE 否则您将在运行应用程序时遇到错误。

关于android - 共享音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18686469/

相关文章:

java - 在 Android 中查询数据库时出现错误

java - 如何在 Smali 汇编语言中传递即时值?

jquery - 使用jquery和html5音频播放歌曲列表

java - 旋转重力

ios - 核心音频: Audio Unit to boost signal level

javascript - 是否可以使用 WebAudio 处理所有传出的浏览器音频?

ios - 分享 mkmapview 截图

objective-c - 限制社交分享选项并为每项服务设置自定义消息

java - 我无法从我的应用程序将视频分享到 Whatsapp

java - 如何更改 ListView 项目数?