我在使用react-native-fs时遇到问题。
使用react-native-fs下载音频文件,效果很好:
struct A {
template <typename T>
operator T() {
return T{};
}
};
struct B : private A {
template <class T>
operator T() {
return static_cast<T>(static_cast<A&>(*this));
}
};
int main() {
A a;
B b;
int i_a = a;
int i_b = b;
}
然后,我尝试播放使用react-native-track-player由上述代码生成的音频文件。
let audio_filename = track_item.url.split('/').pop();
const downloadDest_audio = `${RNFS. DocumentDirectoryPath}/${global.audio_dir}/${audio_filename}`;
const progress = data => {
const percentage = ((100 * data.bytesWritten) / data.contentLength) | 0;
console.log(`Progress ${percentage}% `)
};
const begin = res => {
};
const progressDivider = 1;
const background = false;
////////// download audio file /////////
let ret_audio = RNFS.downloadFile({ fromUrl: track_item.url, toFile: downloadDest_audio, begin, progress, background, progressDivider });
await ret_audio.promise.then(res => {
console.log("file://" + downloadDest_audio)
}).catch(err => {
});
但是TrackPlayer处于缓冲状态,无法播放音频文件。 TrackPlayer从服务器URL运行良好。
如果有人知道此问题,请通知我。谢谢