当前位置: 首页 > 知识库问答 >
问题:

如何制作一个共享我的res/raw/xxx的按钮。mp3文件

孔建柏
2023-03-14

我的应用程序在MediaPlayer中使用MP3文件,我想制作一个按钮,然后将MP3文件共享到Whatsapp。

我的代码是这样的:

    Intent sendIntent = new Intent();
    sendIntent.setAction(Intent.ACTION_SEND);
    String audioClipFileName="bell.mp3";
    sendIntent.setType("audio/mp3");
    sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+"/sdcard/"+audioClipFileName));
    startActivity(sendIntent);

但是不working.why不行?我怎么解决这个问题?

共有1个答案

江棋
2023-03-14

您需要使用环境而不是硬代码路径,例如,如果您的文件位于sdcard根目录中,请使用以下代码:

File root = Environment.getExternalStorageDirectory().getPath();
String fname = "bell.mp3";
file = new File(root, fname);

Intent shareCaptionIntent = new Intent(Intent.ACTION_SEND);
shareCaptionIntent.setType("audio/mp3");
shareCaptionIntent.putExtra(Intent.EXTRA_TEXT, "YOURTEXT");
shareCaptionIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + file.toString()));
startActivity(Intent.createChooser(shareCaptionIntent, "Share in:"));

如果资源使用此:

Uri.parse("android.resource://com.my.package/raw/" + fname);

或资源ID

Uri.parse("android.resource://com.my.package/" + R.raw.bell.mp3);

任何错误请分享logcat

 类似资料:
  • 我正在用Android(API 29)编写一个铃声应用程序,我想通过WhatsApp分享以MP3格式存储在文件夹中的声音。我正在使用此代码: 但是每次我选择聊天发送音频文件时,我都会收到WhatsApp错误,告诉我无法共享文件。我见过其他应用程序在不请求外部存储写入权限的情况下实现我想要的功能。有什么线索吗?

  • 我正在尝试共享RES/RAW文件夹中的音频文件。到目前为止我所做的是: 例如,当我选择在GMail上分享它时,它会说“无法附加空文件”之类的话。看来我没有得到正确的文件路径,所以我基本上没有共享任何东西。我做错了什么? 任何帮助都将不胜感激。

  • 我是相当新的Android应用程序开发,我试图从 /res/raw文件夹中播放一个随机的. mp3。 到目前为止,我已经修复了这个问题,但我遇到了一个FileNotFoundException。 修正了只在第一次点击时播放一个随机声音,之后它是相同的声音,除非重新打开应用程序。 新问题现在播放随机声音,但当我多次单击按钮时,声音同时开始播放,并且仍然在日志中收到“start()mUri is nu

  • 我怎么能实现共享按钮的声音云共享音轨的链接,当用户点击它打开这个轨道与声音云应用程序。 我搜索了一下,但没有发现任何东西,所有人都共享音频、图像、文本或应用程序,所以我该怎么做呢。 提前谢谢。

  • 问题内容: 我希望在我的应用程序中有一个按钮,当按下该按钮时,将弹出此按钮(请参见下图)。我怎么做?我不想创建一个自定义共享活动,我只想要默认一个?我使用什么代码?在线上的所有教程都在Objective- C中。请尽快给出答案。 图片:http: //9to5mac.com/2014/06/30/hands-on-1password-beta-shows-off- ios-8s-touch-id-

  • 我开始用GUI制作Java计算器,但我遇到了一个问题。我是Java新手,如果我的问题很愚蠢,我很抱歉。我想知道如何正确地为Action Listener编写代码,这样我就可以按下一个按钮,并将该按钮上的文本显示在文本区域中。所有评论都是我试图做的,但没有成功。