使用离子媒体播放器在iOS 11.3+上播放音轨

时间:2018-06-02 10:11:55

标签: ios cordova ionic3 cordova-plugins ios11.3

我正在尝试使用Media Plugin一个接一个地播放多个音轨,使用Ionic 3(https://ionicframework.com/docs/native/media/

按下播放时,我将所有曲目作为zip文件下载,然后依次播放它们直到播放完最后一首曲目。这适用于Android(所有型号)以及最高11.2的iOS。在iOS 11.3以后,下一首曲目永远不会从头开始,而是从随机持续时间开始。所以基本上如果专辑有4首曲目,第一首将从00:00开始播放,然后下一首将从随机持续时间开始播放,永远不会从00:00播放。

我想知道这个错误是否与众所周知的iOS音频跳过问题(https://discussions.apple.com/thread/8343622)有关。

代码段如下:

if (ContainerClass.GetPlatformName() == "android") {
  this._mFile = this.media.create(this._URL + "/" + AlbumNo + "/" + this._fileName[index]);
} else if (ContainerClass.GetPlatformName() == "ios") {
  this._mFile = this.media.create((this._URL + "/" + AlbumNo + "/" + this._fileName[index]).replace(/^file:\/\//, ''));
}

this._mFile.onStatusUpdate.subscribe(status => console.log(status));
this._mFile.stop();

this._mFile.play();
ServicesClass._mFile = this._mFile;
ServicesClass._isPlaying = 1;
ServicesClass._playingAlbumNo = this.AlbumNo;
ServicesClass._isPlaying = 1
this._isPlaying = 1;
this._mFile.onSuccess.subscribe(result => {
  index++;
  this._playingIndex = index;
  this._mFile.release();
  if (ServicesClass._stopPlaying == false) {
    this.PlayFiles(AlbumNo, index);
    this.showMp3Player(true);
  }
  else {
    return;
  }
});
this._mFile.onError.subscribe(error => console.log('Error!', JSON.stringify(error)));
} 

提前谢谢。

0 个答案:

没有答案