Ionic3:播放本地音频文件(保存到SD卡中的文件)

时间:2018-12-20 19:49:36

标签: ionic-framework html5-audio ionic-native audio-player

我正在为音频播放和下载创建一个大型应用程序, 我在流式传输('https://anysite/track0.mp3')中读取文件=>可以, 但是,当我下载文件时,无法从SD卡读取它们,我验证了我的Android文件,该文件存在,但无法通过我的App中的音频播放器读取。

我在构造函数中尝试了3条路径:

home.ts

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插件。

home.html

<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 

有人有什么主意吗?

0 个答案:

没有答案