为什么我不能在 React Native 中共享音频文件?
Why I can't share audio files in React Native?
我正在尝试制作一个按钮,让我可以在另一个应用程序(例如 WhatsApp、电报等)中共享 mp3 文件。我使用了 react-native-share(从这里:https://www.npmjs.com/package/react-native-share 和 react),但它似乎不适用于 mp3 文件。我试图通过使用 'type: "audio/mp3",' 来强制它,但它也不起作用。每次打开共享菜单时,它都会告诉我 "sorry this type of file is not yet supported"。那么我该如何解决呢?有一种方法可以强制执行它,或者我可能需要使用另一个库或者没有离开?这是我的代码:
import { Share } from 'react-native-share';
渲染函数里面有我试过的两个函数:
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>
这个link文件://android/app/src/main/res/raw/dontgetmewrong
是从Base64格式转换成Decode。
在本网站的帮助下https://www.base64decode.org/
然后,
url: 'Decode from Base64 format'
我正在尝试制作一个按钮,让我可以在另一个应用程序(例如 WhatsApp、电报等)中共享 mp3 文件。我使用了 react-native-share(从这里:https://www.npmjs.com/package/react-native-share 和 react),但它似乎不适用于 mp3 文件。我试图通过使用 'type: "audio/mp3",' 来强制它,但它也不起作用。每次打开共享菜单时,它都会告诉我 "sorry this type of file is not yet supported"。那么我该如何解决呢?有一种方法可以强制执行它,或者我可能需要使用另一个库或者没有离开?这是我的代码:
import { Share } from 'react-native-share';
渲染函数里面有我试过的两个函数:
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>
这个link文件://android/app/src/main/res/raw/dontgetmewrong 是从Base64格式转换成Decode。
在本网站的帮助下https://www.base64decode.org/
然后,
url: 'Decode from Base64 format'