我正在为音频播放和下载创建一个大型应用程序, 我在流式传输('https://anysite/track0.mp3')中读取文件=>可以, 但是,当我下载文件时,无法从SD卡读取它们,我验证了我的Android文件,该文件存在,但无法通过我的App中的音频播放器读取。
我在构造函数中尝试了3条路径:
export class HomePage {
path;
internalURL;
URL;
constructor(public navCtrl: NavController,
private file: File) {
this.path = this.file.externalRootDirectory+"AwesomePlaces/track0.mp3";
this.file.resolveLocalFilesystemUrl(this.path)
.then(fileEntry =>{
this.internalURL = fileEntry.toInternalURL();
this.URL = fileEntry.toURL();
})
输出这3条路径:
路径和URL输出相同的结果:
file:///storage/emulated/0/AwesomePlaces/track0.mp3
internalUrl输出
cdvfile://localhost/sdcard/AwesomePlaces/track0.mp3
但是这些路径中的任何一个都不能用于音频播放器,也不能用于基于HTML5音频播放器的音频播放器Cordova插件。
<audio controls controlsList="nodownload" style="width: 100%">
<source src="{{pathToTry}}" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
只有“ https://anysite/track0.mp3”对我有用
我要的是在Android IO上播放我的sdcard音频文件的解决方案,并带有进度条,因此用户可以手动更改播放时间,但单击进度条即可。因此,出于这个原因,我无法使用Media Native插件,该插件无法为我提供进度行。
注意:
当我将媒体插件与“路径”配合使用时,它会起作用:
this.audio = this.media.create(this.path);
this.audio.play(); // it plays
有人有什么主意吗?