Я пытаюсь загрузить файл mp4 на мое устройство на android. Я использую плагин для переноса файлов ioni c, чтобы загрузить файл, используя его URL-адрес для загрузки из firebase, и я использую плагин для фотогалереи ioni c, чтобы сохранить файл с его локального URL в мою галерею. я могу видеть, что файл загружен в мою папку галереи, однако, когда я пытаюсь воспроизвести его, мое устройство говорит, что "произошла неизвестная ошибка". Я могу нормально загружать файлы изображений (jpg) и видеть их отображение.
async downloadVideForAndroid(url: string, fileName:string, fileMeme:string){
try {
if(
url.includes('.mp4')
){
console.log('Downloading mp4 ' + url);
let downloadedMp4:any = await this.downLoadVideoMp4(url,fileName,fileMeme);
let video: any = await this.saveVideoForAndroid(downloadedMp4);
console.log('Saved video ' + video);
return video;
} else if(
url.includes('.mov')
) {
let downloadedMov:any = await this.downLoadVideoFileForMov(url,fileName,fileMeme);
let convertedMp4Url: string = await this.photosProvider.convertMovToMp4(downloadedMov,fileName);
let video: any = await this.saveVideoForAndroid(convertedMp4Url);
console.log('Saved video ' + video);
return video;
}
} catch (error) {
console.log('Error with video download for android ' + error);
return error;
}
}
async downLoadVideoMp4(url: string, fileName:string, fileMeme:string):Promise<any>{
try {
const fileTransfer: FileTransferObject = this.fileTransfer.create();
let entry: any = await fileTransfer.download(url , this.file.dataDirectory + fileName + fileMeme,true);
console.log('download complete: ' + entry.toURL());
return entry.toURL()
} catch(error) {
console.log('Error downloading file ' + error);
return error;
}
}
async saveVideoForAndroid(url:string):Promise<void>{
await this.photoLibrary.requestAuthorization();
return this.photoLibrary.saveVideo(
url,
'PicDrip'
);
}
async saveImage(url:string):Promise<LibraryItem>{
await this.photoLibrary.requestAuthorization();
return this.photoLibrary.saveImage(
url + '&ext=.jpg',
'PicDrip'
);
};