[ 
https://issues.apache.org/jira/browse/CB-14120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16504351#comment-16504351
 ] 

Ken Naito commented on CB-14120:
--------------------------------

Could you please tell me how to reproduce this issue in detail?

I try to test using following project.
(Cordova 8.0, Cordova-iOS 4.5.4)

However I can't reproduce this issue on both iOS 11.3.1/iPhone5S and iOS 
11.3.0/iPhone8.

JavaScript:
{code:javascript}
var musics = ["A.mp3","B.mp3","C.mp3"];
var musicIndex = 0;
var media = null;
var mediaTimer = null;

function startPlayAudio() {
  musicIndex = 0;
  media = null;
  mediaTimer = null;
  playAudio1();
  var elem = document.getElementById("musicPosition");
  var showMusicPosition = function() {
    if (media != null) {
      var dur = media.getDuration();
      media.getCurrentPosition( function(position) {
        elem.innerHTML = musics[musicIndex] + " " + position + "/" + dur + " 
[sec]";
      });
    }
    mediaTimer = setTimeout(showMusicPosition, 250);
  }
  mediaTimer = setTimeout(showMusicPosition, 1);
}

function playAudio1() {
  var url = "res/"+musics[musicIndex];
  media = new Media(url,
    function() {
    },
    function(err) {
    },
    function(status) {
      if (status === Media.MEDIA_STOPPED) {
        media.release();
        musicIndex += 1;
        if (musicIndex < musics.length) {
          playAudio1();
        } else {
          mediaTimer.clearTimeout();
        }
      }
    }
  );
  media.stop();
  media.play();
}
{code}

HTML:
{code:HTML}
        <div><button onclick="startPlayAudio()">StartPlayAudio</button></div>
        <br>
        <div id="musicPosition"></div>
{code}

> Playback issues in iOS 11.3/11.4 
> ---------------------------------
>
>                 Key: CB-14120
>                 URL: https://issues.apache.org/jira/browse/CB-14120
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: cordova-plugin-media
>         Environment: Ionic 3, Angular JS 4
>            Reporter: Muddasir Lakhani
>            Priority: Blocker
>
> I am trying to play multiple audio tracks one after the other using the Media 
> Plugin.
> On pressing play, I download all the tracks as a zip file, and then play them 
> one after the other until the last track is played. This works fine on 
> Android (all models) and also on iOS up to 11.2. On iOS 11.3 onwards, the 
> next track never starts from the beginning, but from a random duration. So 
> basically if an Album has 4 tracks, first one will play from duration 00:00, 
> and then the next ones will start to play from random duration, and never 
> from 00:00.
> Code Snippet is below:
> {{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))); } }}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to