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

Android share按钮音频来自原始

翟黎明
2023-03-14

我的Android项目中的raw文件夹中有各种音频文件。我的代码不起作用。当我单击共享按钮应用程序时,它崩溃了。

这是我的代码:

public void onClick(View v) {
    InputStream inputStream;
    FileOutputStream fileOutputStream;
    try {
        inputStream = getResources().openRawResource(R.raw.numer_1);
        fileOutputStream = new FileOutputStream(
            new File(Environment.getExternalStorageDirectory(), "sound.mp3"));

        byte[] buffer = new byte[1024];
        int length;
        while ((length = inputStream.read(buffer)) > 0) {
            fileOutputStream.write(buffer, 0, length);
        }
        inputStream.close();
        fileOutputStream.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.putExtra(Intent.EXTRA_STREAM,
    Uri.parse("file://" + Environment.getExternalStorageDirectory() + "/sound.mp3" ));
    intent.setType("audio/*");
    startActivity(Intent.createChooser(intent, "Share sound"));
}

和Android清单添加

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

共有1个答案

谢昊乾
2023-03-14
if you use this your app will not crash again. The problem is at **Environment.getExternalStorageDirectory()**you're missing **.getPath()**

使用以下代码作为您意图的指南。

final Intent audIntent = new Intent(android.content.Intent.ACTION_SEND);
                                     String audioName="kidi.mp3";
                                     audIntent.setType("audio/mp3");
                                     audIntent.putExtra(android.content.Intent.EXTRA_STREAM, Uri.parse("file://"+"/Environment.getExternalStorageDirectory().getPath()/"+audioName));
                                     startActivity(Intent.createChooser(audIntent, "Share Audio "));
 类似资料:
  • 问题内容: 在HTML中,我通过此代码创建一个音频按钮 它可以正常工作,但是在reactjs中,我在下面使用三个文件,并且该文件与html具有相同的路径,但是代码无法正常工作,因此我得到了一个空白网站。对不起,我的英语不好。index.html Test.js index.js 问题答案: 在反应期望功能。但是,当您这样做时,它会返回一个值。将onClick定义更改为 码: 例如,您还需要一个捆绑

  • 问题内容: 因此,我正在阅读Big Nerd Ranch的Android编程书,并且有一个通过MediaPLayer播放的音频文件。我还有一个按钮,可以播放和暂停音频。如果按播放按钮播放音频,则按钮上的文本将变为“暂停”。问题在于音频结束后,按钮仍显示“暂停”,因此用户必须按两次按钮才能再次播放音频。我如何获得将其文本更改为“音频结束后立即播放”的按钮 这是我的代码减去按钮的布局xml 片段类:

  • 前言: 我想说的是,我已经尽了最大努力避免把这个问题变成重复的问题,也就是说,我自己搜索了谷歌,阅读了很多其他类似的问题,等等。我发现了很多非常有用的东西,这些东西让我找到了这个特定的情况,我有代码要展示,所以希望我的最后一个问题能够清楚地回答。 我有一个简单的网站,用纯HTML和CSS引导建立。主页上有一个嵌入式的全屏Youtube视频,展示了一些歌手。因此,视频上的声音是需要的,但我还想要一个

  • 问题内容: 未调用音量按钮通知功能。 码: 在viewWillAppear中被调用 无论哪种情况,代码都不会到达print语句。 我正在尝试两种不同的方法来做到这一点,但都没有用。 我已遵循以下步骤:检测iPhone的音量按钮按下了吗? 问题答案: 使用第二种方法,密钥路径的值应为。那就是我们正在观察的财产。因此将代码更改为

  • 问题内容: 单击按钮时,我尝试播放音频文件,但它不起作用,我的html代码为: 我的JavaScript是: 问题答案: 哪种方法? 您可以使用或或标签播放音频。延迟加载(需要时加载)如果声音很小,则声音是最好的方法。您可以动态创建音频元素,在加载音频元素时可以使用来启动和暂停。 我们使用的东西 我们将使用事件来检测我们的文件已准备好播放。 音频元素没有任何功能。我们只能暂停它们。而且,当我们要从

  • 我想知道如何创建像这个网站上的按钮,当点击将播放一个简短的音频文件。 https://www.theitalianexperiment.com/learn-意大利语/to-be 我知道如何使用该元素添加音频文件,但我想以按钮格式将其添加到文本的左边(例如,添加到下面的代码中),就像在网站上一样,这就是我所坚持的。 HTML CSS 谢谢!