为什么我不能在React Native中共享音频文件?

时间:2019-10-04 17:29:34

标签: react-native react-native-android mp3 share

我正在尝试创建一个按钮,使我可以在另一个应用程序(例如WhatsApp,电报等)中共享mp3文件。我使用了react-native-share(来自此处:https://www.npmjs.com/package/react-native-share和来自react),但似乎不适用于mp3文件。我试图通过使用'type:“ audio / mp3”,强制它,但是它也不起作用。每次共享菜单打开,然后告诉我“很抱歉,尚不支持这种类型的文件”。那么我该如何解决呢?有一种方法可以强制执行,或者可能我需要使用另一个库,否则就没有了?这是我的代码:

import { Share } from 'react-native-share';

在render函数中,我尝试了两个函数:

const shareaudio = async () => {
  Share.share({
    url: 'file://android/app/src/main/res/raw/dontgetmewrong',
    type: "audio/mp3",
  })
};


const shareSingleImage = async () => {
  const shareOptions = {
    title: 'Condividi',
    url: audio.audio1,
    failOnCancel: false,
    type: "audio/mp3",
  };
  try{
    const ShareResponse = await Share.open(shareOptions);
    setResult(JSON.stringify(ShareResponse, null, 2));
  } catch (error) {
    console.log('Error =>', error);
    setResult('error: '.concat(getErrorString(error)));
  }
};

这是我的两个功能的两个按钮

      <TouchableOpacity onPress={shareSingleImage}>
          <Text>Share</Text>
      </TouchableOpacity>

      <TouchableOpacity onPress={shareaudio}>
          <Text>Share</Text>
      </TouchableOpacity>

1 个答案:

答案 0 :(得分:0)

此链接文件:// android / app / src / main / res / raw / dontgetmewrong 从Base64格式转换为Decode。

在此网站https://www.base64decode.org/的帮助下

然后

url:“从Base64格式解码”