Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android studio上共享音频_Java_Android_Android Studio - Fatal编程技术网

Java 在Android studio上共享音频

Java 在Android studio上共享音频,java,android,android-studio,Java,Android,Android Studio,不要在whatapp上的my app(在raw/suono.mp3中)中共享mp3音频 final Button pulsante2 =(Button) findViewById(R.id.pulsante2); pulsante2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { suono2=Me

不要在whatapp上的my app(在raw/suono.mp3中)中共享mp3音频

    final Button pulsante2 =(Button) findViewById(R.id.pulsante2);
    pulsante2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            suono2=MediaPlayer.create(getApplicationContext(),R.raw.suono2);
            suono2.start();

        }
        });
     //tasto premuto piu a lungo
    pulsante2.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {

            Intent share = new Intent(Intent.ACTION_SEND);
            share.setType("audio/*");

            Uri uri = Uri.parse("android.resource://" + getPackageName()
                    + "/raw/" + R.raw.suono2);
            share.putExtra(Intent.EXTRA_STREAM, uri);
            startActivity(Intent.createChooser(share, "Share Sound File"));


            return true;


        }
        });

什么应用程序说我无法加载文件请重新加载

少数应用程序可以处理android.resource方案。将音频内容复制到文件中,然后使用
FileProvider
通过
Uri
使其可用。如何添加文件提供程序?需要使用
FileProvider
为最初来自资产的PDF文件提供服务的代码。您将切换代码以提供原始资源中的音频内容。不明白:(尝试此操作,但当发送到哪个应用程序时,显示condivision失败,请重新加载。)
              InputStream inputStream;
                FileOutputStream fileOutputStream;
                try {
                    inputStream = getResources().openRawResource(R.raw.suono2);
                    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();
            }